Je veux définir un arrière-plan View qui est une grille régulière de bandes verticales. Les rayures alternent entre deux couleurs. (Par exemple, sur une seule ligne, il peut y avoir 6 pixels de gris clair suivis de 2 pixels de gris foncé, répétés pour remplir la largeur.)Fond à rayures verticales en XML?
Il est assez facile de le faire en utilisant un bitmap (soit comme ressource ou généré en code). Par exemple:
ShapeDrawable bg = new ShapeDrawable(new RectShape());
int[] pixels = new int[] { 0xFFCCCCCC, 0xFFCCCCCC, 0xFFCCCCCC,
0xFFCCCCCC, 0xFFCCCCCC, 0xFFCCCCCC, 0xFF999999, 0xFF999999};
Bitmap bm = Bitmap.createBitmap(pixels, 8, 1, Bitmap.Config.ARGB_8888);
Shader shader = new BitmapShader(bm,
Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
bg.getPaint().setShader(shader);
view.setBackgroundDrawable(bg);
Existe-t-il un moyen de le faire strictement sous forme de tirages XML, sans utiliser de ressources bitmap?
Merci pour l'extrait 'BitmapShader'. J'avais du mal à le faire en XML et je n'avais pas conscience de l'approche shader. –