首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓材质设计-如何在CollapsingToolbarLayout折叠后改变工具栏的背景色

安卓材质设计-如何在CollapsingToolbarLayout折叠后改变工具栏的背景色
EN

Stack Overflow用户
提问于 2015-06-03 20:03:51
回答 5查看 45.2K关注 0票数 49

用户向下滚动屏幕后,CollapsingToolbarLayout中的图像消失,留下一个工具栏,其中包含后退按钮、内容标题和设置菜单。我想知道只有当工具栏处于“折叠”状态时,如何才能更改它的背景颜色。

我所指的操作类似于此,其中工具栏背景颜色变为绿色:

在CollapsingToolbarLayout下面,我有一个NestedScrollView with CardViews

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-06-03 20:06:41

我觉得你在找app:contentScrim

代码语言:javascript
复制
<android.support.design.widget.CollapsingToolbarLayout
    ...
    app:contentScrim="?attr/colorPrimary">
    <!-- Toolbar and ImageView here -->
</android.support.design.widget.CollapsingToolbarLayout>
票数 105
EN

Stack Overflow用户

发布于 2016-04-04 17:34:48

首先删除

代码语言:javascript
复制
app:contentScrim="?attr/colorPrimary"> 

来自CollapsingToolbarLayout

添加库

代码语言:javascript
复制
compile 'com.android.support:palette-v7:23.2.1'

并在java代码中添加以下代码

代码语言:javascript
复制
    Bitmap bitmap = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.ny);
    Palette.generateAsync(bitmap,
            new Palette.PaletteAsyncListener() {
                @Override
                public void onGenerated(Palette palette) {
                    Palette.Swatch vibrant =
                            palette.getVibrantSwatch();
                    int mutedColor = palette.getVibrantSwatch().getRgb();
                    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(mutedColor));
                        collapseToolbar.setContentScrimColor(palette.getMutedColor(mutedColor));

                    }
                }
            });
票数 13
EN

Stack Overflow用户

发布于 2018-09-03 06:18:53

也许你一直在寻找的是:

代码语言:javascript
复制
myCollapsingToolbar.setContentScrimColor(getResources().getColor(R.color.my_color_id));

它对我很有效,并且在折叠后改变了collapsingToolbar的颜色,以帮助我适应collapsingToolbar满尺寸时显示的图像的主颜色。有了这个,颜色显然可以通过编程来改变!

我知道我来晚了,但我希望这能帮上忙。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30619598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档