问题
Hi. In the picture above you can see a back arrow and a (part of) title. I changed the title color using the attached .xml code. But I want to color the back arrow to white too.
I read some answer on the internet, but they look too complicated for such a simple question.
Is the any simple why to do it?
<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"/>
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);
//...
}
//...
}
回答1:
You can use a Theme in your Toolbar.
<android.support.v7.widget.Toolbar
android:theme="@style/myToolbarTheme"
...
>
Then in your theme you can define the colorControlNormal
attribute:
<style name="" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
....
<item name="colorControlNormal">@color/myColor</item>
</style>
回答2:
Be mindful of the theme you use. If you copied your ToolBar code from https://developer.android.com/training/appbar/setting-up, then you have this:
<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"/>
Based on @Gabriele's answer (upvoted), I had to take out the android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
attribute and put it in styles.xml
then customize the colorControlNormal
attribute like so:
<style name="ToolBarTheme" parent="ThemeOverlay.AppCompat.ActionBar">
<item name="colorControlNormal">@color/white</item>
</style>
Back to my Toolbar declaration, I modified as below:
<android.support.v7.widget.Toolbar
...
android:theme="@style/ToolBarTheme"
/>
Cheers!
来源:https://stackoverflow.com/questions/34581408/change-toolbar-back-arrow-color