gpt4 book ai didi

android - fragment 中的 CollapsingToolbarLayout

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:59 25 4
gpt4 key购买 nike

我有一个包含 fragment 的 AppCompatActivity,它控制许多 fragment 的替换。我想根据要显示的 fragment 显示不同的工具栏。

这是 main_activity.xml 的代码:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.inthecheesefactory.lab.designlibrary.activity.MainActivity">

<android.support.design.widget.CoordinatorLayout
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
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"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="@dimen/expanded_toolbar_title_margin_start"
app:layout_scrollFlags="scroll|exitUntilCollapsed">

<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7" />

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

</android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

<android.support.v4.widget.NestedScrollView
android:id="@+id/nest_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<FrameLayout android:id="@+id/container"
android:layout_width="match_parent"
android:clickable="true"
android:layout_height="match_parent"
android:layout_below="@+id/appBarLayout"/>

</android.support.v4.widget.NestedScrollView>


</android.support.design.widget.CoordinatorLayout>

<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:fitsSystemWindows="false"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/drawer_menu_login"
/>

</android.support.v4.widget.DrawerLayout>

使用此代码,AppBarLayout 折叠起来,背景颜色为 colorPrimary。我想在某些 fragment 中禁用此折叠,而在另一个 fragment 中我需要它在 CollapsingToolBarLayout 的 ImageView 中显示图像。它在 AppBarLayout 中有图像折叠的 fragment 中工作正常,但在没有任何图像折叠的 fragment 中我想取消折叠以显示普通工具栏而不展开,这可能吗??

提前致谢。

最佳答案

我做了一个version Chris Bane 的 Cheesesquare 演示,但使用 fragment 。

Video Demo

CheeseCategoriesFragment

基本上,在 fragment 调用的onActivityCreated方法中,这些方法取决于你是否要折叠。

public void disableCollapse() {
imageView.setVisibility(View.GONE);
tabLayout.setVisibility(View.VISIBLE);
collapsingToolbar.setTitleEnabled(false);
}

public void enableCollapse() {
imageView.setVisibility(View.VISIBLE);
tabLayout.setVisibility(View.GONE);
collapsingToolbar.setTitleEnabled(true);
}

关于android - fragment 中的 CollapsingToolbarLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35872566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com