首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在新材质主题中更改后退箭头的颜色?

如何在新材质主题中更改后退箭头的颜色?
EN

Stack Overflow用户
提问于 2014-11-07 04:06:13
回答 18查看 179.2K关注 0票数 208

我已经将我的SDK更新到API 21,现在back/up图标是一个指向左侧的黑色箭头。

我想要灰色的。我该怎么做呢?

例如,在Play Store中,箭头是白色的。

我这样做是为了设置一些样式。我在homeAsUpIndicator中使用过@drawable/abc_ic_ab_back_mtrl_am_alpha。该可绘制图形是透明的(仅alpha),但箭头显示为黑色。我想知道我是否可以像在DrawerArrowStyle中一样设置颜色。或者,如果唯一的解决方案是创建我的@drawable/grey_arrow并将其用于homeAsUpIndicator

代码语言:javascript
复制
<!-- Base application theme -->
<style name="AppTheme" parent="Theme.AppCompat.Light">

    <item name="android:actionBarStyle" tools:ignore="NewApi">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

    <item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
    <item name="android:homeAsUpIndicator" tools:ignore="NewApi">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
</style>

<!-- ActionBar style -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">

    <item name="android:background">@color/actionbar_background</item>
    <!-- Support library compatibility -->
    <item name="background">@color/actionbar_background</item>
</style>

<!-- Style for the navigation drawer icon -->
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@color/actionbar_text</item>
</style>

到目前为止,我的解决方案是使用@drawable/abc_ic_ab_back_mtrl_am_alpha,它看起来是白色的,并使用照片编辑器将其涂成我想要的颜色。它可以工作,尽管我更喜欢像在DrawerArrowStyle中那样使用@color/actionbar_text

EN

回答 18

Stack Overflow用户

发布于 2015-09-15 17:17:44

我尝试了上面所有的建议。我想要改变工具栏中导航图标默认返回按钮箭头的颜色的唯一方法是在基本主题中设置colorControlNormal,如下所示。可能是因为父进程使用的是Theme.AppCompat.Light.NoActionBar

代码语言:javascript
复制
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
  <item name="colorControlNormal">@color/white</item> 
  //the rest of your codes...
</style>
票数 127
EN

Stack Overflow用户

发布于 2016-08-23 22:32:03

只需添加

代码语言:javascript
复制
<item name="colorControlNormal">@color/white</item> 

添加到您当前的应用程序主题。

票数 46
EN

Stack Overflow用户

发布于 2017-02-19 17:59:08

如果使用Toolbar,您可以尝试这样做

代码语言:javascript
复制
Drawable drawable = toolbar.getNavigationIcon();
drawable.setColorFilter(ContextCompat.getColor(appCompatActivity, colorId), PorterDuff.Mode.SRC_ATOP);
票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26788464

复制
相关文章

相似问题

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