Прокрутка прокрутки WebView в NestedScrollView Android 2.3 или менее
Я добавил Toolbar
, Tablayout
и Viewpager
в мое приложение для Android. В Tablayout
есть три Tabs
, каждый из которых показывает a WebView
.
Я поместил WebView
в NestedScrollView
, чтобы скрыть/показать Toolbar
, когда пользователь прокручивает вниз/вверх в WebView
. Toolbar
скрывается в Android 3.0 или больше.
Но, к сожалению, в Android 2.3 или менее WebView
сначала не прокручивается. Мне нужно прокрутить другую вкладку, и когда я вернусь к началу Tab
снова WebView
начнет прокрутку.
Что я хочу?
Я хочу, чтобы WebView
прокручивался в Android 2.3
или менее без каких-либо проблем.
Мой WebView
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:isScrollContainer="false"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="1dp">
<WebView
android:id="@+id/webviewtool"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:numColumns="1"
android:scrollbars="none"
android:focusableInTouchMode="false"
android:focusable="false"
android:background="#FFFFFF" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
Ответы
Ответ 1
Попробуйте использовать эту библиотеку: https://github.com/ksoichiro/Android-ObservableScrollView, это работает с API 9+. Но имейте в виду, что у 2.3 много проблем с визуальными эффектами, анимацией и т.д.
Вы также можете скачать и проверить пример кода: "ActionBarControlWebViewActivity WebView и Action Bar" - это именно то, что вы ищете. Ссылка: ActionBar и WebView
Так же просто, как использовать его так:
ObservableWebView webView = (ObservableWebView) findViewById(R.id.web);
webView.setScrollViewCallbacks(this);
webView.loadUrl("file:///android_asset/lipsum.html");