2016-04-26 73 views
2

我在CollapsingToolbarLayout中有ImageView和TabLayout(4个选项卡),现在我想在点击选项卡(2,3,4)时折叠Appbar,并且对于第一个选项卡它应该正常工作每滚动)。有没有办法以编程方式展开和折叠Appbar?Android:以编程方式折叠并展开CollapsingToolbarLayout

但是我看到solution,appBarLayout.setExpanded(false)折叠Appbar,但又可以拖动它。我想阻止AppBar扩展,直到选项卡1被点击?

回答

5

使用mAppBarLayout.setExpanded(true)展开Toolbar并使用mAppBarLayout.setExpanded(false)折叠Toolbar

如果你想防止CollapsingToolbarLayout扩张,直到 标签1被点击,那么你应该使用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); 

展开:使用时Tab 1点击

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

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

希望这将帮助你〜