【发布时间】:2011-06-29 23:47:51
【问题描述】:
我想设置一个垂直条纹规则网格的视图背景。条纹在两种颜色之间交替。 (例如,在一行中,可能有 6 个浅灰色像素,然后是 2 个深灰色像素,重复以填充宽度。)
使用位图(作为资源或在代码中生成)很容易做到这一点。例如:
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 可绘制对象来执行此操作?
【问题讨论】:
-
感谢
BitmapShadersn-p。我在 XML 中努力做到这一点,并且不知道着色器方法。
标签: android background drawable xml-drawable