android - 更改图标的颜色与制作多种颜色的图标

标签 android performance android-layout

我对在运行时使用以下方法更改图标的颜色感到困惑:

Drawable x = getResources().getDrawable(R.drawable.ic_action_xx);
x.setColorFilter(Color.parseColor("#000000"), PorterDuff.Mode.SRC_ATOP);

或者创建许多我需要的每种颜色的图标文件! 任何帮助!谢谢你

最佳答案

这取决于图片的数量。如果只有几种颜色(例如白色和黑色),我会为每种颜色创建图像。但是对于数百种颜色,我认为最好使用滤镜。

其实,如果你的app只支持SDK版本 > lollipop 你可以在 xml 中使用 tint 参数吗?

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/ic_back"
    android:tint="@color/red_tint"/> 

关于android - 更改图标的颜色与制作多种颜色的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42110055/

相关文章:

javascript - 在 canvas javascript 上绘制 10,000 个对象

Python:高效优雅地从大量列表中删除所有重复项

performance - 为什么这个 Haskell 代码比等效的 C 代码慢得多?已使用的未装箱矢量和刘海

android - AlertDialog EditText 不显示软键盘

android - 包括布局不工作另一个布局

java - 找不到类符号 - Android Studio

Android:权限拒绝:以撤销权限启动 Intent android.permission.CAMERA

android - 如何在 Android 中从矩形位图创建方形位图

Android android.database.sqlite.SQLiteException : unable to open database file

android - 如何在android中获取电子邮件发送或丢弃的确认