提问者:小点点

Android:以编程方式折叠和展开CollapsingToolbarLayout


我在CollapsingToolbarLayout中有ImageView和TabLayout(4个选项卡),现在我想在单击选项卡(2,3,4)时折叠Appbar,第一个选项卡应该正常工作(按滚动)。有没有方法以编程方式展开和折叠Appbar?

然而,我看到了解决方案,appBarLayout.setExpanded(false)折叠Appbar,但它又可以向下拖动。我想阻止AppBar展开,直到选项卡1被点击?


共1个答案

匿名用户

使用< code > mappbarlayout . set expanded(true)展开< code >工具栏,使用< code > mappbarlayout . set expanded(false)折叠< code >工具栏。

如果要在单击选项卡 1 之前阻止折叠工具栏布局展开,则应以编程方式使用 mAppBarLayout.setLayoutParams(params) 来更改折叠工具栏布局高度。

折叠:单击选项卡(2,3,4)时使用

CoordinatorLayout.LayoutParams params =(CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams();
params.height = 3*80; // COLLAPSED_HEIGHT

mAppBarLayout.setLayoutParams(params);
mAppBarLayout.setExpanded(false);

展开:单击选项卡1时使用

CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams();
params.height = 3*200; // EXPANDED_HEIGHT

mAppBarLayout.setLayoutParams(params);
mAppBarLayout.setExpanded(true);

希望这对你有帮助~