当滚动没有内容时,如何禁用CollapsingToolbar的崩溃?

我正在使用android支持设计’com.android.support:design:22.2.1’我的问题是当滚动中没有内容时,折叠工具栏仍然启用折叠操作。 如果滚动中没有内容,我需要删除视图的折叠。

我的XML:

        

UDPATE问题:

我已经完成了禁用和启用视图折叠的function。 我使用这行代码来禁用折叠:

 AppBarLayout.LayoutParams appbarParams = (AppBarLayout.LayoutParams) collapsingToolbar.getLayoutParams(); appbarParams.setScrollFlags(0); collapsingToolbar.setLayoutParams(p); 

问题是appbar强制将scrollflags的高程设置为0.我尝试使用appbar.setElevation(0),但它没有任何效果。 如何从我的appbar中删除高程?

获取appbarlayout引用并设置setScrollFlags。

 AppBarLayout.LayoutParams p = (AppBarLayout.LayoutParams) toolbar.getLayoutParams(); p.setScrollFlags(0); toolbar.setLayoutParams(p); 

试试appbarParams.setScrollFlags(-1);appBarLayout.setExpanded(true, true)删除高程。

如果您在片段中有recyclerView,请尝试recyclerView.setNestedScrollingEnabled(false);

需要针对某些片段禁用针对CollapsingToolbarLayout的扩展

要停止崩溃折叠工具栏不要给

app:layout_scrollFlags="scroll|exitUntilCollapsed"在XML文件中app:layout_scrollFlags="scroll|exitUntilCollapsed" ..您可以删除该代码

通过“滚动没有内容”,我认为你的意思是“没有片段”。 为此,我认为您必须首先将更改为 ,然后使用getFragmentManager().beginTransaction()以编程方式添加片段,然后检查片段是否存在(即非空)所以:

  if (getFragmentManager().findFragmentById(R.id.fragment_name) != null) { // here try RKNP's code to disable the appBar from collapsing }