从我的CollapsingToolbarLayout更改颜色

时间:2015-08-27 23:15:50

标签: java android colors

我正在尝试使用Material Design规则执行CollapsingToolbar动画。一切都运作良好,但这是一个打破我的想法。我正在尝试在滚动我的回收器视图时更改我的折叠工具栏的颜色,但我得到的透明颜色总是相同...

这是我的xml代码:

<android.support.design.widget.AppBarLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:fitsSystemWindows="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="256dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            android:fitsSystemWindows="true"
            android:background="@color/gps_friends_green_main"
            app:contentScrim="@color/gps_friends_green_main"
            app:expandedTitleMarginStart="48dp"
            app:expandedTitleMarginEnd="64dp">
            <ImageView
                android:id="@+id/imgHeader"
                app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                android:fitsSystemWindows="true"
                app:layout_collapseMode="parallax" />

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

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

这是我的Java代码

int mutedColor = R.color.gps_friends_green_main;

    Palette.generateAsync(bitmap,
                    new Palette.PaletteAsyncListener() {
                        @Override
                        public void onGenerated(Palette palette) {
                            Palette.Swatch vibrant =
                                    palette.getVibrantSwatch();

                            if (vibrant != null) {
                                // If we have a vibrant color
                                // update the title TextView
                                collapseToolbar.setBackgroundColor(mutedColor);
                                //  mutedColor = palette.getMutedColor(R.attr.colorPrimary);
                                collapseToolbar.setStatusBarScrimColor(palette.getDarkMutedColor(R.color.gps_friends_green_main));
                                collapseToolbar.setContentScrimColor(palette.getMutedColor(R.color.gps_friends_green_main));

                            }
                        }
                    });

gps_friend_main_color为<color name="gps_friends_green_main">#1abc9c</color>

这是我折叠工具栏的结果:

enter image description here

我想改变这种深蓝色,但我找不到这样做的方法。我有点绝望,但希望在这里找到答案。 谢谢。

2 个答案:

答案 0 :(得分:4)

更改颜色的代码是正确的。 你只需要删除

应用程式:contentScrim = “@颜色/ gps_friends_green_main”

在你的“android.support.design.widget.CollapsingToolbarLayout”中,它应该有效。

答案 1 :(得分:1)

在AppBarLayout中使用此功能: 机器人:背景=&#34; @android:彩色/透明&#34; //在这里使用任何颜色

<android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="192dp"
            android:background="@android:color/transparent" //use any color here
            android:fitsSystemWindows="true">