J'ai un motif opaque (10 % d'opacité) et je dois le combiner avec de la couleur.
Est-il possible de définir la couleur d'arrière-plan d'une image ?
J'ai un motif opaque (10 % d'opacité) et je dois le combiner avec de la couleur.
Est-il possible de définir la couleur d'arrière-plan d'une image ?
Bien sûr, il suffit d'utiliser un LayerListDrawable.
Quelque chose comme :
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#FF00ffff" />
</shape>
</item>
<item>
<bitmap
android:src="@drawable/your_tiled_drawable"
android:tileMode="repeat" />
</item>
</layer-list>
Enregistrez cela dans votre res/drawables
et l'utiliser comme arrière-plan.
Malheureusement, si votre application est plus compliquée, il arrive que le tileMode soit désactivé sans raison apparente. Dans ce cas, vous devrez réintroduire le mode tuile dans Java.
J'ai l'habitude de le définir en xml, puis de faire quelque chose comme :
View v = findViewById(R.id.my_view);
LayerDrawable lld = (LayerDrawable) v.getBackground();
BitmapDrawable tiled = (BitmapDrawable) lld.getDrawable(1);
tiled.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);
Oui.
Vous pouvez utiliser ImageView
. Définissez sa couleur d'arrière-plan et définissez l'image semi-transparente comme source.
Si vous voulez faire cela avec une mise en page, étendez cette mise en page et dans la fonction overridden onDraw(), dessinez la couleur d'arrière-plan et mélangez-la avec l'image semi-transparente.
Paint p = new Paint();
p.setXfermode(new PorterDuffXfermode(Mode.MULTIPLY));
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.