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

use*_*899 4 android

我在CollapsingToolbarLayout中有ImageView和TabLayout(4个标签),现在我想在点击Tabs(2,3,4)时折叠Appbar,对于第一个标签它应该正常工作(按照滚动).有没有办法以编程方式展开和折叠Appbar?

然而,我已经看到解决方案,appBarLayout.setExpanded(false)折叠Appbar,但它再次能够向下拖动.我想在点击Tab 1之前阻止AppBar扩展?

Fer*_*med 7

使用mAppBarLayout.setExpanded(true)扩展Toolbar和使用mAppBarLayout.setExpanded(false)崩溃Toolbar.

如果要在单击选项卡1之前阻止CollapsingToolbarLayout扩展, 则应以编程方式更改 高度.mAppBarLayout.setLayoutParams(params)CollapsingToolbarLayout

折叠:Tabs(2,3,4)单击时使用

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

mAppBarLayout.setLayoutParams(params);
mAppBarLayout.setExpanded(false);
Run Code Online (Sandbox Code Playgroud)

展开:Tab 1单击时使用

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

mAppBarLayout.setLayoutParams(params);
mAppBarLayout.setExpanded(true);
Run Code Online (Sandbox Code Playgroud)

希望这会对你有所帮助〜