使用AppBarLayout.Behavior.DragCallback来控制折叠工具栏布局的滚动

时间:2015-10-18 00:56:51

标签: java android android-layout android-collapsingtoolbarlayout

我希望能够启用和禁用折叠工具栏的滚动。谁能告诉我一个如何使用AppBarLayout.Behavior.DragCallback的例子?

https://developer.android.com/reference/android/support/design/widget/AppBarLayout.Behavior.DragCallback.html

1 个答案:

答案 0 :(得分:18)

为了启用/禁用折叠工具栏的滚动,您可以提供自定义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);
}