如何在android中动态更改图像颜色?
我正在做这样的项目,在我的项目中动态地改变图像的颜色 我有一个黑色形状的彩色图像,当用户点击此图像时,图像颜色会动态变为绿色 谷歌搜索和其他文件跟进,但我没有解决我的问题如何在android中动态更改图像颜色?,android,Android,我正在做这样的项目,在我的项目中动态地改变图像的颜色 我有一个黑色形状的彩色图像,当用户点击此图像时,图像颜色会动态变为绿色 谷歌搜索和其他文件跟进,但我没有解决我的问题 请帮帮我,有什么方法或文件可以解决我的问题吗?在你画正方形之前,把这个放在你的OnDraw里 if (userclicked){ paint.setColor(Color.GREEN); } else { paint.setColor(Color.BLACK); } 当然,如果您使用canvas.drawRect(x0,y
请帮帮我,有什么方法或文件可以解决我的问题吗?在你画正方形之前,把这个放在你的OnDraw里
if (userclicked){
paint.setColor(Color.GREEN);
} else {
paint.setColor(Color.BLACK);
}
当然,如果您使用canvas.drawRect(x0,y0,x1,y1,paint)绘制它,如果您绘制这样一个简单的形状,您会使用它。我是这样做的:它从资源xml文件中提取颜色
<resources>
<color name="new_color">#FFAAAAAA</color>
</resources>
要清除它,请致电:
image.setColorFilter(null);
在drawable文件夹中创建资源,如
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap
android:src="@drawable/rect"
android:tint="@color/red"/>
</item>
</layer-list>
android:tint=“@color/red”
执行此操作。将图像/图像按钮的属性设置为所需的颜色
android:tint="@android:color/black"
您可以选择设置android:tintMode属性。在XML中,在ImageView中使用src not background标记。 在java代码中-
import android.graphics.PorterDuff.Mode;
final Context context=this;
home1=(ImageView) findViewById(R.id.home1);
Resources res = context1.getResources();
final int newColor = res.getColor(android.R.color.black);
home1.setColorFilter(newColor, Mode.SRC_ATOP);
我只有一个黑色形状的图像。动态更改该图像的颜色。@BlackDevil感谢您的建议。请尝试,了解堆栈溢出帖子中已经讨论过的内容,并找到下面的链接:下面的链接是外部的。找到这个,我使用您的解决方案解决我的问题。希望它能解决您的问题。很抱歉,这不是我的问题,我有一个黑色形状的图像,图像颜色会动态变化。感谢您的回复,我正在尝试代码,但无法解决我的问题,此代码更改整个图像颜色而不是图像形状颜色尝试不同的模式,它将适用于您的示例:我尝试不同的模式,这是改变图像颜色而不是图像形状的颜色。是的,可能是覆盖,饱和,屏幕。如果您可以在白色部分使用alpha遮罩,并在父视图中使用白色背景,则也可以使用此模式。尝试此模式,但我无法更改图像形状颜色。我已经测试过,它在api级别29但19上工作。
android:tint="@android:color/black"
import android.graphics.PorterDuff.Mode;
final Context context=this;
home1=(ImageView) findViewById(R.id.home1);
Resources res = context1.getResources();
final int newColor = res.getColor(android.R.color.black);
home1.setColorFilter(newColor, Mode.SRC_ATOP);