微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – CoordinatorLayout / 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一起工作(页面加载,看起来很好,虽然从顶部开始),但我失去了隐藏/显示与工具栏:(

你有什么想法吗?

预先感谢您的帮助 :)

(有关信息:Android设计支持库:23.0.1)

解决方法

我的假设:
由于您将WebView放置在nestedScrollView中,因此在WebView级别上不会执行滚动操作,因此当加载新页面时,nestedScrollView将保持在相同的位置.

建议:
创建一个WebViewClient并在此处覆盖onPageStarted,您应该将nestedScrollView滚动位置更改为0:

nestedScrollView.scrollTo(0,0);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐