gpt4 book ai didi

java - 使用 ViewPager2 折叠工具栏会出现滚动问题

转载 作者:行者123 更新时间:2023-12-01 17:51:24 27 4
gpt4 key购买 nike

所以我遇到了这个奇怪的问题,这个问题只发生在我一直试图解决的 ViewPager2 上,但以前从未见过类似的报告。

我试图将 ViewPager2 与 ToolBar 协调起来,使其在用户滚动其中的内容时隐藏。当加载带有填充的 RecyclerView 的 fragment 时它工作正常,但当回收器为空或根本没有 fragment 时表现很奇怪。

这里有一些 gif 显示问题(第一个 ViewPager2(错误),第二个 ViewPager(正确))。

As you can see in the first image it works correctly only if I select the toolbar but gives dragging problems whenever I grab the empty space where the NestedScrollView is.

Gif of the ViewPager2 Gif of the ViewPager

这是 ViewPager2 的 xml 布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".MainActivity">

<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<androidx.appcompat.widget.Toolbar
android:id="@+id/toolBar"
style="@style/Widget.MaterialComponents.Toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"/>

<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.TabLayout.Colored" >

<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test" />

</com.google.android.material.tabs.TabLayout>

</com.google.android.material.appbar.AppBarLayout>

<androidx.core.widget.NestedScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

</androidx.core.widget.NestedScrollView>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

最佳答案

经过很长时间,我终于通过删除 NestedScrollView 并将其替换为实际的 ViewPager2 解决了这个问题。请记住始终设置 fragment ,否则工具栏将不会滚动。

这是 ViewPager2:

<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

编辑:如果您仍然需要使用 NestedScrollView 将其放入 fragment 中,它将按预期运行。

关于java - 使用 ViewPager2 折叠工具栏会出现滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60788674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com