Hoa*_* Ha 57 android android-fragments android-toolbar android-coordinatorlayout
我的应用程序有一个viewpager和4个选项卡,每个选项卡都有许多片段.但我只想在2个特定选项卡中滚动recyclerview时向上/向下滚动工具栏.但我不知道如何阻止工具栏滚动其他选项卡.我试图为每个片段导入工具栏,但似乎我不能这样做.有人有想法解决这个问题吗?
ian*_*ake 118
我强烈建议不要根据选择的选项卡更改滚动标记 - 当滚动到非回收站视图选项卡时,工具栏会自动返回(并且内容向下移动)可能非常刺耳,可能不是您想要的交互模式(如果你的两个RecyclerView标签彼此相邻,那就太激怒了.
但是,如果要亲自查看,可以使用setScrollFlags()以编程方式设置滚动标志:
Toolbar toolbar = ... // your toolbar within an AppBarLayout
AppBarLayout.LayoutParams params =
(AppBarLayout.LayoutParams) toolbar.getLayoutParams();
params.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL
| AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS);
Run Code Online (Sandbox Code Playgroud)
为了清除旗帜
params.setScrollFlags(0)
Run Code Online (Sandbox Code Playgroud)
Den*_*erg 10
// Show toolbar when we are in maps mode
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) mToolbar.getLayoutParams();
CoordinatorLayout.LayoutParams appBarLayoutParams = (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams();
if(isMapIndex) {
params.setScrollFlags(0);
appBarLayoutParams.setBehavior(null);
mAppBarLayout.setLayoutParams(appBarLayoutParams);
} else {
params.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS);
appBarLayoutParams.setBehavior(new AppBarLayout.Behavior());
mAppBarLayout.setLayoutParams(appBarLayoutParams);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28871 次 |
| 最近记录: |