Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中更改homeAsUpIndicator的颜色?_Android - Fatal编程技术网

如何在android中更改homeAsUpIndicator的颜色?

如何在android中更改homeAsUpIndicator的颜色?,android,Android,我正在开发一个应用程序,其中有一个名为“AboutPreference”的活动,它扩展了PreferenceActivity,并且我在postCreate()方法中添加了一个工具栏。问题是我想把“homeAsUpIndicator”的颜色从黑色改为白色。我该怎么做 代码:- protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState);

我正在开发一个应用程序,其中有一个名为“AboutPreference”的活动,它扩展了
PreferenceActivity
,并且我在
postCreate()
方法中添加了一个工具栏。问题是我想把“homeAsUpIndicator”的颜色从黑色改为白色。我该怎么做

代码:-

 protected void onPostCreate(Bundle savedInstanceState) {
        super.onPostCreate(savedInstanceState);

        LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent();
        Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.about_toolbar, root, false);
        root.addView(bar, 0); // insert at top
        bar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

    }
工具栏

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:navigationIcon="?attr/homeAsUpIndicator"
android:minHeight="?attr/actionBarSize"
app:navigationContentDescription="@string/abc_action_bar_up_description"
app:theme="@style/ToolTheme"
app:title="About Us"
tools:ignore="PrivateResource"/>

这是风格

 <style name="ToolTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">@color/white</item>
    <item name="android:textColorSecondary">@color/white</item>
    <item name="android:textColorPrimaryInverse">@color/white</item>
    <item name="android:textSize">20sp</item>
    <item name="android:homeAsUpIndicator">@color/White</item>
    <item name="colorPrimary">#F5560A</item>
    <item name="colorPrimaryDark">@color/accent</item>
    <item name="android:navigationBarColor">@color/accent</item>
    <item name="colorAccent">@color/accent</item>
</style>

大胆的
@颜色/白色
@颜色/白色
@颜色/白色
20便士
@颜色/白色
#F5560A
@颜色/口音
@颜色/口音
@颜色/口音

通过访问工具栏上的导航图标,我们可以更改颜色

toolbar.getNavigationIcon().setColorFilter(color, PorterDuff.Mode.SRC_IN);
如果不起作用,试试这个

toolbar.getNavigationIcon().mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN);

可以使用自定义图像并在样式中指定相同的图像,如下所示

<item name="homeAsUpIndicator">@drawable/ic_back</item>
<item name="android:homeAsUpIndicator">@drawable/ic_back</item>
@drawable/ic\u back
@可抽出式/集成电路背面

我将输入什么来代替“颜色”通行证
int color
或您想要的任何颜色或
color.RED
@Ravi您可以使用color.rgb(int RED、int green、int blue)