工具栏后退箭头在4.0.3版本中为黑色

时间:2016-03-24 09:50:10

标签: android back

工具栏后退箭头在较高的Android版本4.0.3是白色但工具栏后退箭头在Android版本4.0.3是黑色的。我想在所有Android版本中显示白色后箭头。

在java中

    toolbar = (Toolbar) findViewById(R.id.toolbar_title);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
style.xml中的

<style name="AppTheme" parent="MaterialDrawerTheme.Light.DarkToolbar.ActionBar">

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">@android:color/white</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="colorControlNormal">@android:color/white</item>
    <item name="actionBarTheme">@style/AppTheme.NoActionBar</item>

</style>

styles.xml(v21)

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

activity.xml

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:minHeight="?android:attr/actionBarSize"
        android:popupTheme="@android:style/ThemeOverlay.Material.Light"/>

2 个答案:

答案 0 :(得分:1)

旧设备上没有类似"@android:style/ThemeOverlay.Material.Light"的样式(5.0之前版本)。主要父母应该是"@style/Theme.AppCompat.Light.DarkActionBar"(或者根本没有ActionBar?最后一段)

此外,对于Toolbar

app:popupTheme="@style/AppTheme"
app:theme="@style/ActionBarTheme"


<style name="ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
    <item name="android:textColorSecondary">@android:color/white</item>
    <item name="android:colorControlNormal">@android:color/white</item>
    <item name="colorControlNormal">@android:color/white</item>
</style>

另外:您可以在所有操作系统版本中使用Toolbar,您不需要创建不带ActionBar的分隔样式(假设您以编程方式设置Toolbar)以用于较新的OS版本< / p>

答案 1 :(得分:1)

您可以将后轴颜色设置为

final Drawable upArrow= ContextCompat.getDrawable(this,R.drawable.abc_ic_ab_back_mtrl_am_alpha);
        if (upArrow != null) {
            upArrow.setColorFilter(ContextCompat.getColor(BuyRentMainActivity.this, R.color.white), PorterDuff.Mode.SRC_ATOP);
            getSupportActionBar().setHomeAsUpIndicator(upArrow);
        }
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);