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