我想要实现的是锁定CollapsingToolbarLayout,防止它从片段打开.我用appbarLayout.setExpanded(false,true)以编程方式折叠它;
解决方法 我想出了一个不同的方法,因为设置嵌套滚动标志仅在拖动nestedScrollVIEw时有效.仍然可以通过滑动栏本身来扩展appbar.我将其设置为“Utils”类中的静态函数.显然,您在解锁时设置的标志将取决于哪些与您的用例相关.
此函数假定您从扩展工具栏开始
public static voID LockToolbar(boolean locked,final AppbarLayout appbar,final CollapsingToolbarLayout toolbar) { if (locked) { // We want to lock so add the Listener and collapse the toolbar appbar.addOnOffsetChangedListener(new AppbarLayout.OnOffsetChangedListener() { @OverrIDe public voID onOffsetChanged(AppbarLayout appbarLayout,int verticalOffset) { if (toolbar.getHeight() + verticalOffset < 2 * VIEwCompat.getMinimumHeight(toolbar)) { // Now fully expanded again so remove the Listener appbar.removeOnOffsetChangedListener(this); } else { // Fully collapsed so set the flags to lock the toolbar AppbarLayout.LayoutParams lp = (AppbarLayout.LayoutParams) toolbar.getLayoutParams(); lp.setScrollFlags(AppbarLayout.LayoutParams.SCRolL_FLAG_ENTER_ALWAYS_ColLAPSED); } } }); appbar.setExpanded(false,true); } else { // Unlock by restoring the flags and then expand AppbarLayout.LayoutParams lp = (AppbarLayout.LayoutParams) toolbar.getLayoutParams(); lp.setScrollFlags(AppbarLayout.LayoutParams.SCRolL_FLAG_SCRolL | AppbarLayout.LayoutParams.SCRolL_FLAG_EXIT_UNTIL_ColLAPSED); appbar.setExpanded(true,true); }}总结
以上是内存溢出为你收集整理的如何从Android支持库锁定CollapsingToolbarLayout全部内容,希望文章能够帮你解决如何从Android支持库锁定CollapsingToolbarLayout所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)