我已经将我的SDK更新为API 21,现在备份/备份图标是一个指向左侧的黑色箭头。
我想要灰色的。我该怎么做?
例如,在Play Store中,箭头为白色。
我这样做是为了设定一些风格。我使用了@drawable/abc\u ic\u ab\u back\u mtrl\u am\u alpha
作为家庭指示器。该可绘制图形是透明的(仅alpha),但箭头显示为黑色。我想知道我是否可以像在
drawerrowstyle
中那样设置颜色。或者,如果唯一的解决方案是创建我的@drawable/grey_arrow
,并将其用于homeAsUpIndicator
。
<!-- 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
,看起来是白色的,然后使用照片编辑器将其绘制成我想要的颜色。虽然我更喜欢使用@color/actionbar\u text
像drawerrowstyle
中的那样,但它是有效的。
我尝试了以上所有建议。我在工具栏中更改导航图标默认后退按钮箭头颜色的唯一方法是在基本主题中设置colorControlNormal,如下所示。可能是因为父级正在使用主题。AppCompat。光无操作条
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorControlNormal">@color/white</item>
//the rest of your codes...
</style>
查看工具栏
和TintManager
源代码,drawable/abc\u ic\u ab\u back\u mtrl\u am\u alpha
用样式属性colorControlNormal
的值着色。
我确实试着在我的项目中设置它(使用
更新:
找到了。您需要使用
colorControlNormal
设置actionBarTheme
属性(而不是actionBarStyle
)。
例如:
<style name="MyTheme" parent="Theme.AppCompat.Light">
<item name="actionBarTheme">@style/MyApp.ActionBarTheme</item>
<item name="actionBarStyle">@style/MyApp.ActionBar</item>
<!-- color for widget theming, eg EditText. Doesn't effect ActionBar. -->
<item name="colorControlNormal">@color/my_awesome_color</item>
<!-- The animated arrow style -->
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>
<style name="MyApp.ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<!-- THIS is where you can color the arrow! -->
<item name="colorControlNormal">@color/my_awesome_color</item>
</style>
<style name="MyApp.ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="elevation">0dp</item>
<!-- style for actionBar title -->
<item name="titleTextStyle">@style/ActionBarTitleText</item>
<!-- style for actionBar subtitle -->
<item name="subtitleTextStyle">@style/ActionBarSubtitleText</item>
<!--
the actionBarTheme doesn't use the colorControlNormal attribute
<item name="colorControlNormal">@color/my_awesome_color</item>
-->
</style>
您可以通过代码实现它。获取可绘制的后退箭头,使用过滤器修改其颜色,并将其设置为后退按钮。
final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
upArrow.setColorFilter(getResources().getColor(R.color.grey), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
修订1:
从API 23(Marshmallow)开始,可提取资源abc_ic_ab_back_mtrl_am_alpha
更改为abc_ic_ab_back_material
。
编辑:
您可以使用此代码实现所需的结果:
toolbar.getNavigationIcon().setColorFilter(getResources().getColor(R.color.blue_gray_15), PorterDuff.Mode.SRC_ATOP);
嘿,我正在尝试设置homeindicator在我的操作栏,但看起来像箭头有一个白色,我尝试了很多事情,我已经设置了一个缩放作为一个家庭指示器,但同样的问题,它是白色的,这里是我尝试的。 我使用的主题 结果我得到了结果 我所期待的:预期的结果 箭头缩放文件
我已经尝试了这个解决方案,并且在XML中工作得很好,但是我如何通过代码来做同样的事情呢? 事实上,我想改变编辑文本(主题:标签,文本颜色,行颜色)按一个按钮。
我创建了一个新的angular5项目,在该项目上,我将angular material用于前端组件()。到目前为止一切都很好,但主要的问题是如何添加一个自定义主题。我没有在此项目上使用scss编译器,所以我所做的是将所有css组件导入到style.css中,如 问题是我不知道如何修改预构建的主题的底色,或者为我的主题生成另一个带有其他底色的css。如果有人能帮我,我会非常感激的!
我正在使用预构建的紫绿色角材料预构建主题与.css。我想用一个白色的背景,但似乎不能改变从深灰色的背景。我尝试在index.html的body标记中删除class=“mat-app-background”,但没有影响。是否需要移动到.scss才能进行此更改? 谢谢 皮特
问题内容: 假设我要对JComboBox中的箭头使用自定义图像,该怎么做? 我知道可以使用synth xml文件甚至UIManager.put(…),但是我不知道如何。我现在要做的就是将箭头图像更改为其他图像,无论是以编程方式还是仅覆盖其使用的图像。我到底该怎么做? 问题答案: 您可以在中覆盖。是一个方便的起点。 然后安装它。