更改工具栏后退箭头颜色

时间:2016-01-03 20:46:39

标签: android material-design android-appcompat android-toolbar

enter image description here

您好。在上图中,您可以看到后退箭头和(部分)标题。我使用附加的.xml代码更改了标题颜色。但是我也想把后箭头变成白色。

我在互联网上阅读了一些答案,但对于这么简单的问题,它们看起来太复杂了。

为什么这么简单?



    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="fill_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        app:titleTextColor="@android:color/white"/>
&#13;
&#13;
&#13;

&#13;
&#13;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
//...

public class LoginActivity extends AppCompatActivity {
    protected void onCreate(Bundle savedInstanceState) {

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
      //...
    }
    //...
}
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:10)

您可以在工具栏中使用主题。

<android.support.v7.widget.Toolbar
  android:theme="@style/myToolbarTheme" 
  ...
>

然后在您的主题中,您可以定义colorControlNormal属性:

   <style name=""  parent="ThemeOverlay.AppCompat.Dark.ActionBar">
      ....
      <item name="colorControlNormal">@color/myColor</item>  
   </style>

答案 1 :(得分:0)

请注意您使用的主题。如果您从https://developer.android.com/training/appbar/setting-up复制了ToolBar代码,那么您将拥有:

<android.support.v7.widget.Toolbar
   android:id="@+id/my_toolbar"
   android:layout_width="match_parent"
   android:layout_height="?attr/actionBarSize"
   android:background="?attr/colorPrimary"
   android:elevation="4dp"
   android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
   app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

基于@Gabriele的回答(建议),我不得不取出android:theme="@style/ThemeOverlay.AppCompat.ActionBar"属性并将其放在styles.xml中,然后像这样自定义colorControlNormal属性:

<style name="ToolBarTheme"  parent="ThemeOverlay.AppCompat.ActionBar">
    <item name="colorControlNormal">@color/white</item>
</style>

回到我的工具栏声明,我进行了如下修改:

<android.support.v7.widget.Toolbar
   ...
   android:theme="@style/ToolBarTheme"
   />

干杯!

答案 2 :(得分:0)

对我来说,我正在使用自己的可绘制后背arraw。

首先将其添加到工具栏

  <androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:titleTextColor="@color/White"
    app:title="Your Title"
    app:navigationIcon="@drawable/ic_back"
    app:popupTheme="@style/AppTheme.PopupOverlay"
    >
</androidx.appcompat.widget.Toolbar>

如您所见

app:navigationIcon="@drawable/ic_back"

是根据需要更改Arraw的关键,这就是它的外观

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:autoMirrored="true"
android:viewportHeight="24">
<path android:fillColor="#C87BB3" android:pathData="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z" />

它是一个向量