Android – КоординаторLayout / NestedScrollView / Скрыть панель инструментов / Проблема с WebView

У меня проблема с этим:

<?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> 

Когда я просматриваю веб-просмотр, панель инструментов скрыта или показана (отлично!), Но есть проблема с веб-страницами погрузки / позиционирования. Например, если я прокручиваю до середины страницы, и я нажимаю на ссылку, новая страница, которая будет загружаться, также будет расположена примерно в середине страницы, а не сверху. Как будто полосы прокрутки не перемещаются с одной страницы на другую.

Если я добавлю в NestedScrollView:

 android:fillViewport="true" 

Все работает с webview (страницы загружаются и появляются хорошо, хотя начиная с вершины), но я теряю Hide / Show с помощью панели инструментов 🙁

У вас есть представление об этой проблеме?

Заранее спасибо за вашу помощь 🙂

(Для информации: Android Support Support Library: 23.0.1)

Yop

Solutions Collecting From Web of "Android – КоординаторLayout / NestedScrollView / Скрыть панель инструментов / Проблема с WebView"

Мое предположение. Поскольку вы WebView внутри NestedScrollView прокрутка не выполняется на уровне WebView поэтому при загрузке новой страницы NestedScrollView остается в той же позиции.

Предложение: создайте WebViewClient и переопределите onPageStarted здесь, вы должны изменить положение прокрутки NestedScrollView до 0:

 nestedScrollView.scrollTo(0, 0);