如何更改工具栏上项目的颜色

时间:2019-05-30 14:46:11

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

我有一个工具栏,我想将背景更改为黑色,但是默认情况下项目的颜色为黑色,并且我想将其颜色更改为灰色,我该怎么做?非常感谢: My Image about Toolbar

这是我的toolbar.xml

<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2196F3"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

我的styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

2 个答案:

答案 0 :(得分:0)

在创建图标或矢量资产时,您可以选择颜色

enter image description here

单击颜色选择器。

如果要在代码中更改颜色,请在MenuItem中添加app:iconTint="@color/yourcolor"来更改图标颜色。

<item
android:icon="@drawable/ic_share_white_24dp"
android:id="@+id/action_share"
android:title="@string/action_share"
android:orderInCategory="200"
app:iconTint="@color/yourcolor"
app:showAsAction="ifRoom"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>

要更改3点图标的颜色,请尝试将其添加到styles.xml

<style name="YourCustomTheme.OverFlow">
    <item name="android:src">@drawable/my_overflow_image</item>
</style>

答案 1 :(得分:0)

更改图标的色调属性。

通过xml:

OkHttpClient okHttpClient = new OkHttpClient();
URL.setURLStreamHandlerFactory(new ObsoleteUrlFactory(okHttpClient));

通过code

<item android:id="@+id/slash_toolbar" 
android:title="" 
android:icon="@drawable/ic_voice" 
app:showAsAction="always" 
android:tint="@android:color/white"/>

更改三个点的颜色put it in your style.xml in AppTheme:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);

    for(int i = 0; i < menu.size(); i++){
        Drawable drawable = menu.getItem(i).getIcon();
        if(drawable != null) {
            drawable.mutate();
            drawable.setColorFilter(getResources().getColor(R.color.textColorPrimary), PorterDuff.Mode.SRC_ATOP);
        }
    }

    return true;
}