Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中动态更改图像颜色?_Android - Fatal编程技术网

如何在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);