问题描述
我在片段中有一个简单的折叠工具栏,它位于带有 tablayout 的 viewpager 中:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="192dp"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:expandedTitleMarginBottom="80dp"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:background="@color/red">
<android.support.v7.widget.Toolbar
android:id="@+id/anim_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
当我的片段第一次加载时一切正常,但是在选项卡之间交换后重新显示片段时,我无法再滚动到 NestedScrollView 的最底部。 我的内容缺失部分与工具栏高度相同(更改工具栏高度会更改缺失部分高度)。
这是未滚动的视图:
滚动到底部时,有一个部分未显示,在本例中,还有另一个“Text 6”TextView 位于屏幕外且无法访问。
在某些选项卡上(我有 6 个),我永远无法访问缺少的部分,在其他选项卡上,它遵循以下模式:
- 可以滚动到底部
- 更改选项卡并再次返回
- 无法滚动到底部
- 更改多个选项卡以便片段被杀死
- 再次选择选项卡时,片段会重新膨胀
- 可以滚动到底部
任何帮助,将不胜感激。
1楼
尝试这些更改。 看看差异。
<android.support.design.widget.AppBarLayout
android:layout_height="192dp"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<android.support.v7.widget.Toolbar
android:layout_height="?attr/actionBarSize"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_height="match_parent">
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
2楼
你有没有打电话给setSupportActionBar(your_anim_toolbar)
?
确保您的代码中有这一行,并且必须在Activity#setContentView
(或在Fragment#onCreateView
)添加它。
3楼
供大家参考,因为我刚刚遇到了同样的问题。 这是一个已知问题,已在 com.google.android.material:material:1.3.0-alpha04 中修复
也与