我正在设置操作栏的后箭头并改变其颜色,如下所示:
final Drawable upArrow = getResources().getDrawable(R.drawable.ic_action_navigation_arrow_back);
upArrow.setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
正如您所看到的,我正在更改此行中箭头的颜色,因为默认返回的箭头是灰色的,在此处:
upArrow.setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
虽然我提供的颜色white
具有以下十六进制代码#FFFFFFFF
,但颜色正在发生变化,但问题是它有点透明。
这里有两张图片可以说明我的观点。
它的外观如下:
虽然颜色应该像其他组件一样:
我尝试了PorterDuff.Mode.XXXX
下的所有选项,但都没有。
答案 0 :(得分:2)
改变你的style.xml
<style name="MyCustomTheme" parent="Custom.Base">
</style>
<style name="Custom.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>
<style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>
答案 1 :(得分:1)
如果您正在使用工具栏 在AppTheme中添加项目。
<item name="colorControlNormal">@color/white</item>
但请确保您的布局上的工具栏元素中没有定义其他主题。