如何以编程方式为工具栏设置app:layout_scrollFlags

时间:2015-06-11 03:41:18

标签: android android-fragments android-toolbar android-coordinatorlayout

我的应用有一个viewpager和4个标签,每个标签都有很多片段。但我只想在2个特定选项卡中滚动recyclerview时向上/向下滚动工具栏。但我不知道如何阻止工具栏滚动其他选项卡。我试图为每个片段导入工具栏,但似乎我不能这样做。 有人有想法解决这个问题吗?

2 个答案:

答案 0 :(得分:109)

我强烈建议不要根据选择的选项卡更改滚动标记 - 当滚动到非回收站视图选项卡时,工具栏会自动返回(内容向下移动)可能非常刺耳,可能不是交互模式你想要的(如果你的两个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);

为了清除标志

params.setScrollFlags(0)

答案 1 :(得分:10)

<iframe src="https://www.youtube.com/embed/<VIDEO_ID>&autoplay=1 frameborder="0" allowfullscreen></iframe>