android - 在 Android Studio 中更改矢量 Assets 的填充颜色

标签 android android-studio vector-graphics android-vectordrawable

Android Studio 现在支持 21+ 的矢量资源,并将在编译时为较低版本生成 png。我有一个要更改填充颜色的矢量 Assets (来自 Material Icons)。这适用于 21+,但生成的 png 不会改变颜色。有没有办法做到这一点?

<vector android:height="48dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@color/primary" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>

最佳答案

不要直接编辑矢量资源。如果您在 ImageButton 中使用矢量可绘制对象,只需在 android:tint 中选择您的颜色。

<ImageButton
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:id="@+id/button"
        android:src="@drawable/ic_more_vert_24dp"
        android:tint="@color/primary" />

关于android - 在 Android Studio 中更改矢量 Assets 的填充颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32924986/

相关文章:

java - getSupportActionBar() 返回 null

Android将动画应用于按钮背景

android - Android Studio 中的编译错误在制作一个简单的 Google Android Maps API v2 项目时

android - 如何查找Android应用程序中是否正在使用Java包?

android - API 'variant.getExternalNativeBuildTasks()' 已过时

wpf - 在 WPF 应用程序中使用 XAML 矢量图形

android - 我们如何通过服务在android中调用一个 Activity ?

model-view-controller - 矢量图形编辑器的设计模式

linux - 通过 librsvg 缩放矢量图像

java - 如何在Android Studio中编辑Fragment内容?