Android – CoordinatorLayout / NestedScrollView / Hide-Show Barre d'outils / Problème avec WebView

J'ai un problème avec ça:

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" /> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout> 

Lorsque je me déplace dans la vue web, la barre d'outils est cachée ou affichée (parfait!) Mais il y a un problème avec les pages Web de chargement / positionnement. Par exemple, si je me déplace vers le milieu d'une page et je clique sur un lien, la nouvelle page qui se chargera sera également située à peu près au milieu de la page au lieu de la partie supérieure. Comme si les barres de défilement ne bougeaient pas d'une page à l'autre.

Si j'ajoute à NestedScrollView:

 android:fillViewport="true" 

Tout fonctionne avec la vision du Web (les pages se chargent et apparaissent bien bien que commencent par le haut) mais je perds le Hide / Show avec la barre d'outils 🙁

Avez-vous une idée de ce problème?

Merci d'avance pour votre aide 🙂

(Pour plus d'informations: Android Design Support Library: 23.0.1)

Yop

One Solution collect form web for “Android – CoordinatorLayout / NestedScrollView / Hide-Show Barre d'outils / Problème avec WebView”

Mon hypothèse: puisque vous NestedScrollView la WebView dans un NestedScrollView le défilement n'est pas effectué sur le niveau WebView , alors lorsque vous chargez une nouvelle page, NestedScrollView reste dans la même position.

Suggestion: créez un WebViewClient et onPageStarted ici, vous devez changer la position de défilement NestedScrollView à 0:

 nestedScrollView.scrollTo(0, 0); 
coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.