我想设置一个视图背景,这是一个垂直条纹的规则网格。条纹在两种颜色之间交替。 (例如,在一行中,可能有6个像素的浅灰色,后面是2个深灰色像素,重复以填充宽度。)XML中的垂直条纹背景?
使用位图(或者作为资源或者用代码生成)。例如:
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);
有没有一种方法可以严格执行此操作,因为XML可绘制,而不使用位图资源?
感谢`BitmapShader`片段的样品。我一直在努力在XML中做到这一点,并没有意识到着色器的方法。 – 2013-01-25 15:16:57