Как изменить цвет изображения динамически в Android?

Я делаю такой тип проекта, в моем проекте меняю цвет изображения динамически .

У меня есть одно черное изображение цвета, когда пользователь нажимает на это изображение, меняет цвет изображения динамически зеленым.

Введите описание изображения здесь

Google и другие документы следуют, но я не решаю мою проблему.

Пожалуйста, помогите мне, есть ли какой-либо метод или документ для решения моей проблемы,

Solutions Collecting From Web of "Как изменить цвет изображения динамически в Android?"

Вот как я это делаю: он вытаскивает цвет из XML-файла ресурса.

<resources> <color name="new_color">#FFAAAAAA</color> </resources> 

В вашей деятельности .java файл:

 import android.graphics.PorterDuff.Mode; Resources res = context.getResources(); final ImageView image = (ImageView) findViewById(R.id.imageId); final int newColor = res.getColor(R.color.new_color); image.setColorFilter(newColor, Mode.SRC_ATOP); 

Чтобы очистить вызов, выполните следующие действия:

 image.setColorFilter(null); 
 imageView.setImageResource(R.drawable.ic_person_black_48dp); imageView.setColorFilter(imageView.getContext().getResources().getColor(R.color.), PorterDuff.Mode.SRC_ATOP); 

Создайте ресурс в выпадающей папке, например `

 <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" сделать это.

Поместите это в свой OnDraw, как раз перед тем, как вы нарисуете свой квадрат.

 if (userclicked){ paint.setColor(Color.GREEN); } else { paint.setColor(Color.BLACK); } 

Конечно, если вы рисуете его с помощью canvas.drawRect (x0, y0, x1, y1, paint), который вы бы сделали, если бы рисовали простую форму.