如何通过编程锁定展开/折叠操作?

4

我希望在特定的操作中保留这个布局:

初始布局

现在,我可以通过在其上滑动来折叠或展开这个CoordinatorLayout。我想阻止这种行为。


1
所以我认为你需要编写自己的 android.support.design.widget.CoordinatorLayout.Behavior - pskink
1个回答

22

我假设您的列表正在使用 RecyclerView

您可以在您的 RecyclerView 上关闭嵌套滚动,这将禁用工具栏的折叠:

recyclerView.setNestedScrollingEnabled(false);

您可以通过清除滚动标记来锁定工具栏:

CollapsingToolbarLayout toolbar = findViewById(R.id.collapsingToolbar);  // or however you need to do it for your code
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
params.setScrollFlags(0);  // clear all scroll flags

1
我想锁定工具栏 - 即黑色部分的展开/折叠操作。可以通过在工具栏上滑动/滚动来完成。但我不想要它,所以我想锁定这种行为。 - piotrek1543
2
如果您想保持工具栏折叠,Btw也可以使用:appBar.setExpanded(false); nestedScrollView.setNestedScrollingEnabled(false); - mindeh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接