Android 如何禁用折叠工具栏';当卷轴没有内容时是否折叠?
我使用的是android support design'com.android.support:design:22.2.1'我的问题是,当滚动条中没有内容时,折叠工具栏仍会启用折叠操作。如果卷轴中没有内容,我需要移除视图的折叠 我的XML:Android 如何禁用折叠工具栏';当卷轴没有内容时是否折叠?,android,scroll,toolbar,android-collapsingtoolbarlayout,Android,Scroll,Toolbar,Android Collapsingtoolbarlayout,我使用的是android support design'com.android.support:design:22.2.1'我的问题是,当滚动条中没有内容时,折叠工具栏仍会启用折叠操作。如果卷轴中没有内容,我需要移除视图的折叠 我的XML: <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:background="@android:color/white"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<fragment
android:id="@+id/pawfile_header"
android:name="com.lightbulb.pawesome.fragments.PawfileHeaderFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<fragment
android:id="@+id/pawfile_timeline"
android:name="com.lightbulb.pawesome.user_timeline.PawesomeUserTimelineFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
问题是appbar强制将scrollflags的高程设置为0。我尝试使用appbar.setElevation(0),但没有效果。如何从appbar中删除立面?获取appbarlayout参考并设置SetCrollFlags
AppBarLayout.LayoutParams p = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
p.setScrollFlags(0);
toolbar.setLayoutParams(p);
“卷轴中没有内容”,我认为你的意思是“没有碎片”。为此,我认为您必须首先将
更改为
,然后使用getFragmentManager().beginTransaction()
以编程方式添加片段,然后检查片段是否存在(即不为空),如下所示:
if (getFragmentManager().findFragmentById(R.id.fragment_name) != null) {
// here try RKNP's code to disable the appBar from collapsing
}
要停止崩溃工具栏的崩溃,请不要放弃
XML文件中的
app:layout_scrollFlags=“scroll | exituntilclopsed”
。您可以删除该代码尝试appbarParams.setScrollFlags(-1)
和appBarLayout.setExpanded(true,true)
删除立面
如果片段中有recyclerView,请尝试recyclerView.setNestedScrollingEnabled(false)代码>
app:layout\u scrollFlags=“none”。这行吗?我如何通过编程实现这一点?这里有一条很好的评论:“当我使用NestedScrollView
(带有wrap\u content
属性)作为主容器,使用TextView
作为子容器时,AppBarLayout
工作正常,不会滚动。”请检查这个答案请检查这个答案这是有帮助的!但是我怎样才能将折叠更新返回到相同的引用,因为我无法恢复视图的折叠。。。setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_直到_折叠),但无法启用此setScrollFlags的折叠设置(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL|AppBarLayout.LayoutParams.SCROLL_FLAG_始终输入_);如何从appbar中删除立面?当我将滚动标志设置为0时,appbar最终将显示一个标高。setScrollFlags
将工具栏保持在展开状态setNestedScrollingEnabled
允许保留该位置。这对我来说是最干净的解决方案。你能解释一下为什么appBarLayout.setExpanded(true,true)会删除高程吗?因为对我来说不是。糟糕的议会。这样,即使有可滚动的内容,它也不会崩溃。
if (getFragmentManager().findFragmentById(R.id.fragment_name) != null) {
// here try RKNP's code to disable the appBar from collapsing
}