改变材料图标的颜色?

12 android android-layout android-studio

我从这里下载了一些材料图标:

https://material.io/icons/

我很困惑如何将这些图标的颜色更改为drawables.我有一个Button图标在drawableLeft属性中,然后一些ImageButton图标设置,如下所示:

<Button
    android:text="Hey"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/ic_arrow_upward_black_24dp"
    android:stateListAnimator="@null" />

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_arrow_downward_black_24dp"
    android:background="@null" />
Run Code Online (Sandbox Code Playgroud)

如何更改每个图标的颜色?

此外,如果我下载的图标是黑色,我如何将图标的颜色更改为透明的颜色?

Col*_*iza 33

你一定要明白所有材料图标https://material.io/icons/是现在可以在Android的工作室,没有必要,甚至下载.右键单击drawables> New> Vector Asset

你会得到一个像这样的对话框

这个

点击Android图标后,选择您的图像并保存.这将创建一个 xml drawable,可以根据自己的喜好打开和编辑

这是它的样子

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:alpha="0.8" <!--set the transparency from here -->
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FF000000" <!-- Use this for setting your color -->
        android:pathData="M9.4,16.6L4.8,12l4.6,-4.6L8,6l-6,6 6,6 1.4,-1.4zM14.6,16.6l4.6,-4.6 -4.6,-4.6L16,6l6,6 -6,6 -1.4,-1.4z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

  • Vector drawables曾经在早期版本的Android上支持不足(需要使用多个png).但是,即使支持旧版本,最新版本的AppCompat也允许您使用这样的矢量绘图:/sf/ask/2847526321/ -the-最新款的Android (2认同)

fir*_*ves 5

将其添加到xml布局文件中的ImageButton

android:tint="@color/black"
android:tintMode="@color/black"
Run Code Online (Sandbox Code Playgroud)