gpt4 book ai didi

android - 使用设置了三种以上颜色的 gradientDrawable

转载 作者:IT老高 更新时间:2023-10-28 23:40:54 27 4
gpt4 key购买 nike

根据我的阅读,您可以使用 gradientDrawable并为其设置三种颜色,例如:

<gradient startColor="#00FF00" centerColor="#FFFF00" endColor="#FFFFFF"/>

但是如果我想要三种以上的颜色,不仅如此,我还希望能够设置每种颜色的放置位置(重量/百分比)?

是否可以使用 API 或者我应该制作自己的自定义可绘制对象?如果我需要制作自己的自定义drawable,我应该怎么做?

最佳答案

将此代码放入您的 onCreate() 方法中:

ShapeDrawable.ShaderFactory shaderFactory = new ShapeDrawable.ShaderFactory() {
@Override
public Shader resize(int width, int height) {
LinearGradient linearGradient = new LinearGradient(0, 0, width, height,
new int[] {
0xFF1e5799,
0xFF207cca,
0xFF2989d8,
0xFF207cca }, //substitute the correct colors for these
new float[] {
0, 0.40f, 0.60f, 1 },
Shader.TileMode.REPEAT);
return linearGradient;
}
};
PaintDrawable paint = new PaintDrawable();
paint.setShape(new RectShape());
paint.setShaderFactory(shaderFactory);

并使用这个drawable作为背景。

您也可以通过创建图层在 xml 中添加三种以上的颜色。但是在 XML 中它是相当复杂的。

关于android - 使用设置了三种以上颜色的 gradientDrawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14020530/

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