我有一个已有条件禁用的 CollapsingToolbar。当用户在该条件下加载 View 时,它看起来就像一个普通的 ToolBar 对象。
唯一奇怪的是,如果它们向下拖动,例如在下拉刷新样式操作中,CollapsingToolbar 会展开,尽管我希望和代码相反!
这是我的,注释掉的代码反射(reflect)了我也尝试过的
appBar.setExpanded(false);
appBar.setActivated(false);
/*CollapsingToolbarLayout.LayoutParams p = (CollapsingToolbarLayout.LayoutParams)toolbar.getLayoutParams();
p.setCollapseMode(CollapsingToolbarLayout.LayoutParams.COLLAPSE_MODE_PIN);
toolbar.setLayoutParams(p);
CoordinatorLayout.LayoutParams appBarLayoutParams = (CoordinatorLayout.LayoutParams) appBar.getLayoutParams();
appBarLayoutParams.setBehavior(null);
appBar.setLayoutParams(appBarLayoutParams);*/
CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams)appBar.getLayoutParams();
lp.height = (int) getResources().getDimension(R.dimen.app_bar_height);
我想禁用下拉扩展,但我没有找到实现它的方法。此 Activity 包含一个 recyclerview,这是用户主要与之交互的地方。
最佳答案
我与方法密切相关。展开布局行为控件 AppBarLayout。所以你需要更新那个小部件的扩展方法。基于AppBarLayout Doc .
AppBarLayout appBarLayout;
//....
public void setExpandToolbar (boolean isEpand) {
if (isExpand) {
appBarLayout.setExpanded(true,true);
}
else {
appBarLayout.setExpanded(false,true);
}
}
让我知道这个问题。因为您可以通过其他解决方案控制扩展。例如,通过自定义布局参数。
AppBarLayout.LayoutParams p = (AppBarLayout.LayoutParams)
toolbar.getLayoutParams();
p.setScrollFlags(0);
toolbar.setLayoutParams(p);
关于android - CollapsingToolbarLayout 禁用下拉扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469579/