使用 AppBarLayout.Behavior.DragCallback 控制折叠工具栏布局的滚动
Posted
技术标签:
【中文标题】使用 AppBarLayout.Behavior.DragCallback 控制折叠工具栏布局的滚动【英文标题】:Using AppBarLayout.Behavior.DragCallback to control scroll of collapsing toolbar layout 【发布时间】:2016-01-16 13:10:45 【问题描述】:我希望能够启用和禁用折叠工具栏的滚动。谁能告诉我如何使用 AppBarLayout.Behavior.DragCallback 的示例?
https://developer.android.com/reference/android/support/design/widget/AppBarLayout.Behavior.DragCallback.html
【问题讨论】:
【参考方案1】:为了启用/禁用折叠工具栏的滚动,您可以提供自定义 DragCallback 作为 AppBarLayout 行为的一部分。这是一个示例代码:
private void setAppBarDragging(final boolean newValue)
AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.appbar_layout);
CoordinatorLayout.LayoutParams params =
(CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams();
AppBarLayout.Behavior behavior = new AppBarLayout.Behavior();
behavior.setDragCallback(new AppBarLayout.Behavior.DragCallback()
@Override
public boolean canDrag(AppBarLayout appBarLayout)
return newValue;
);
params.setBehavior(behavior);
【讨论】:
这可以防止在 RecyclerView 中滚动,而不仅仅是 AppBarLayout 的折叠以上是关于使用 AppBarLayout.Behavior.DragCallback 控制折叠工具栏布局的滚动的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?