gpt4 book ai didi

android - XML 中的垂直条纹背景?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:09:39 24 4
gpt4 key购买 nike

我想设置一个 View 背景,它是一个垂直条纹的规则网格。条纹在两种颜色之间交替。 (例如,在一行中,可能有 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 可绘制对象来执行此操作?

最佳答案

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

在所需的三项任务中,只有两项可以在没有任何代码的情况下完成。您可以将条纹图案的底部创建为 <layer-list>两个或更多<shape>项目。您还可以使用 <bitmap> 创建重复的瓷砖图案可绘制的 XML。诀窍是所需的中间步骤:<bitmap>不会接受另一个可绘制对象作为源值(仅图像),因此如果没有一些代码的干预来创建位图(就像您编写的那样),就无法将两者链接起来。

我希望看到平铺模式也应用于更多可绘制对象,并为我提供了一个完全在代码中创建模式的示例而 +1 :)

关于android - XML 中的垂直条纹背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com