android - 如何使用 CollapsingToolbarLayout 而不是针对特定 Activity 使用应用程序主题操作栏?

标签 android android-actionbar android-collapsingtoolbarlayout app-themes

我正在为我的应用程序使用一个应用程序主题,其中该主题的操作栏标志为真。我的所有 Activity 都显示相同的操作栏。

如何在任何特定 Activity 中使用 CollapsingToolbarLayout 而不是使用主应用主题操作栏?

我在 Activity 类中添加了以下代码:

  final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        CollapsingToolbarLayout collapsingToolbar =
                (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
        collapsingToolbar.setTitle(cheeseName);

这是我的布局:

 <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginStart="48dp"
            app:expandedTitleMarginEnd="64dp">

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

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

但它不起作用,我的 Activity 总是显示应用主题操作栏。

最佳答案

试试这个,

xml文件

<android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        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:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/image"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                android:src="@drawable/your_image"
                app:layout_collapseMode="parallax" />

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

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

关于android - 如何使用 CollapsingToolbarLayout 而不是针对特定 Activity 使用应用程序主题操作栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41436236/

相关文章:

Android Studio 找不到JDK Mac

android - 在 Android 工具栏中添加图标

android - CollapsingToolbarLayout 不适用于 NestedScrollView

android - 如何创建Android时间表布局?

java - 如何在需要时停止动画并立即在android中启动它

android - 类内的合成绑定(bind)上的空对象引用错误

android - 如何使用 ActionBarSherlock 4.2.0 在我的项目中导入 SlidingMenu

android - 操作栏被隐藏,之后立即显示

android - 从字体资源 ID 创建字体

android - 如何修复折叠的工具栏滚动问题