我有一个工具栏,我想隐藏,如果用户向下滚动。
我发现了一个解决方案,其中要滚动的视图是RecyclerView或NestedScrollView。
在我的例子中,我的工具栏旁边有一个FragmentContainerView
。
FragmentContainerView托管不同的片段,例如WebView。我尝试了不同的东西,比如将FragmentContainerView嵌套在NestedScrollView中(不再显示)。
这是我的简化布局文件:
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.abc.myApp.features.main.MainActivity">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/windowBackground">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/toolbar_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar_top"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:nestedScrollingEnabled="true"
app:defaultNavHost="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:navGraph="@navigation/nav_graph" />
</androidx.coordinatorlayout.widget.CoordinatorLayout
</androidx.drawerlayout.widget.DrawerLayout>
有没有人知道我可以试试?
1条答案
按热度按时间bkhjykvo1#
我有一个使用第三方库的解决方案
如上所述,我将
WebView
膨胀到FragmentContainerView中。正如Zain所说,我需要一个NestedScrollView(包裹在WebView周围)。
在我的最终解决方案中,我用Telefonica的
NestedScrollWebView
替换了WebView:https://github.com/Telefonica/android-nested-scroll-webview