gpt4 book ai didi

android - 着色器作为可绘制对象 (Android)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:04 28 4
gpt4 key购买 nike

如何使用从 Shader(例如 LinearGradient)获取可绘制对象,以便将其用作我的 UI 中的背景?

最佳答案

由于背景可能需要调整大小,我们将使用 ShaderFactory 来生成 Shader:

ShapeDrawable.ShaderFactory sf=new ShapeDrawable.ShaderFactory() {
@Override
public Shader resize(int width, int height) {
return new LinearGradient(0, 0, width, height,
new int[]{Color.WHITE, Color.GRAY, Color.BLACK},
new float[]{0,0.5f,1}, Shader.TileMode.MIRROR);
}
};

我们用它来创建一个我们可以用作背景的 PaintDrawable:

PaintDrawable p=new PaintDrawable();
p.setShape(new RectShape());
p.setShaderFactory(sf);
getWindow().setBackgroundDrawable(p);

这只是一个例子,在这种情况下,实际上只声明这个 using XML 会更好。 .看the example here .

关于android - 着色器作为可绘制对象 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2762452/

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