使用折叠工具栏布局更改状态栏稀松布颜色

时间:2018-02-26 01:40:13

标签: android android-layout material-design

我使用Android调色板API通过picasso从下载的图像中提取颜色,因此我想更改状态栏和折叠工具栏颜色。 我设法更改折叠工具栏,但我不能使用状态栏! 这是我的代码

collapsingToolbar.setBackgroundColor(palette.getLightVibrantColor(00000)); // 00000 just for testing!

collapsingToolbar.setContentScrimColor(palette.getLightVibrantColor(00000));

collapsingToolbar.setStatusBarScrimColor(palette.getLightVibrantColor(00000));
<android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:fitsSystemWindows="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:contentScrim="@color/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:statusBarScrim="@android:color/transparent">

            <ImageView
                android:id="@+id/back_drop"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/detail_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin" />

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

1 个答案:

答案 0 :(得分:0)

使用此方法

  private void applyPalette(Palette palette) {
    int primaryDark = getResources().getColor(R.color.primary_dark);
    int primary = getResources().getColor(R.color.primary);
    collapsingToolbarLayout.setContentScrimColor(palette.getMutedColor(primary));
    collapsingToolbarLayout.setStatusBarScrimColor(palette.getDarkMutedColor(primaryDark));
    supportStartPostponedEnterTransition();
}