Android 折叠工具栏问题,片段内没有滚动内容
在我的代码中,只有一个活动和许多片段。 结构如下:Android 折叠工具栏问题,片段内没有滚动内容,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,在我的代码中,只有一个活动和许多片段。 结构如下: <android.support.v4.widget.DrawerLayout> <android.support.design.widget.CoordinatorLayout> <android.support.design.widget.AppBarLayout> <android.support.design.widget.Collapsin
<android.support.v4.widget.DrawerLayout>
<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout>
<android.support.design.widget.CollapsingToolbarLayout>
<ImageView/>
<android.support.v7.widget.Toolbar/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<FrameLayout/>
<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView/>
</android.support.v4.widget.DrawerLayout>
我不需要在所有片段中使用折叠工具栏,但我更喜欢这样做,而不是在每个片段中放置appbarlayout
问题是当我启动我的应用程序时:
1) 我所处的片段中,折叠工具栏不可用(我没有滚动内容),但如果我在工具栏上滚动,我仍然可以展开折叠工具栏(这就是问题…)
2) 现在,我进入一个带有滚动内容的片段,用recyclerview展开折叠工具栏,折叠工具栏正常工作
3) 我想重复1)中的错误,该错误不再存在。
就像用回收器滚动一样,视图解决了这个错误吗?
如果在工具栏上滚动,则折叠工具栏不会展开。我希望在应用程序发布之前都是这样。
我不想继续使用片段滚动内容来禁用这个bug
你可以看到这个gif,它代表了我所说的
你能帮我吗?:) 如果要更改滚动行为,可以通过编程方式更改CollasingToolbarLayout的AppBarLayout.LayoutParams上的滚动标志
CollapsingToolbarLayout ctl= (CollapsingToolbarLayout) findViewById(R.id.collapsing_appbar);
AppBarLayout.LayoutParams params = ctl.getLayoutParams();
params.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS);//or a combination of flags
ctl.setLayoutParams(params);
另一个让折叠工具栏布局滚动“没有滚动内容”的技巧是
在NestedScrollView中设置“您的布局”,并设置*1000dp最小高度值
到NestedScrollView(“您的布局”)的子级
布局:
<android.support.v4.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!--your layout-->
<FrameLayout android:minHeight="1000dp"/>
</android.support.v4.widget.NestedScrollView>
事实上,我之前已经尝试过您的第一个解决方案,它将折叠工具栏修复到最大值。我的目标是拥有与该栏不存在时相同的行为:)@laurent512是否希望折叠工具栏布局充当常规的“操作栏”?您是否尝试通过编程方式将AppBarLayout的高度设置为默认的ActionBar高度?是否看到我的gif?我想了解为什么会发生这种行为:/I我不明白为什么当我们第一次滚动到工具栏本身时,折叠工具栏会展开,并且在第你有一个很好的链接来通过编程设置高度吗?:)因为我的最终目标是:让我们像这个片段上不存在的折叠工具栏那样做。
android:minHeight="1000dp"
<android.support.v4.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!--your layout-->
<FrameLayout android:minHeight="1000dp"/>
</android.support.v4.widget.NestedScrollView>