android – 垂直条纹背景的XML?

前端之家收集整理的这篇文章主要介绍了android – 垂直条纹背景的XML?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想设置一个查看背景,这是一个垂直条纹的常规网格.条纹在两种颜色之间交替出现. (例如,在单行中,可能有6个像素的浅灰色,然后是2个像素的深灰色,重复填充宽度.)

使用Bitmap(作为资源或在代码生成)来做到这一点很容易.例如:

ShapeDrawable bg = new ShapeDrawable(new RectShape());
int[] pixels = new int[] { 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可绘制,不使用位图资源?

解决方法

不幸的是,我很确定答案是否定的.

在所需的三个任务中,只有两个可以在没有任何代码的情况下完成.您可以将条纹图案的基础创建为< layer-list>两个或更多个<形状>项目.您还可以使用<位图>创建重复的图块模式. XML可绘制.诀窍是必需的中间步骤:<位图>不会接受另一个可绘制的源值(只有一个图像),所以没有办法链接两个没有一点代码的干预创建一个位图(如你所写的).

我希望看到瓦片模式也适用于更多的绘图,还有一个给我一个在代码中完全创建模式的样例:)

原文链接:https://www.f2er.com/android/312610.html

猜你在找的Android相关文章