theme textcolorprimary textappearance style studio apptheme android

textcolorprimary - ¿Cómo cambiar el color de la imagen dinámicamente en Android?



text style android (6)

Así es como hago esto: está extrayendo el color de un archivo xml de recursos.

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

En su actividad .java archivo:

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);

Para borrarlo llame:

image.setColorFilter(null);

Estoy haciendo este tipo de proyecto, en mi proyecto cambiar imagen de color dinámicamente .

Tengo una imagen en color de una forma negra, cuando el usuario hace clic en esta imagen para cambiar el color de la imagen de forma dinámica verde.

Google y otros documentos siguen pero no estoy solucionando mi problema.

Por favor, ayúdenme, ¿hay algún método o documento para seguir a resolver mi problema,


Crear recurso en una carpeta dibujable como

<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" hace.


En XML, use src no la etiqueta de fondo en ImageView. En codigo 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);


Establezca el atributo de imagen / imagen de android: tint al color que necesite.

android:tint="@android:color/black"

Opcionalmente puedes configurar el atributo android: tintMode .


Ponga esto en su OnDraw, justo antes de dibujar su cuadrado.

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

Por supuesto, eso es si lo está dibujando con canvas.drawRect (x0, y0, x1, y1, pintura) que lo haría si estuviera dibujando una forma simple como esa.


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