gpt4 book ai didi

android - LayerDrawable图层padding和圆角部分不透明

转载 作者:行者123 更新时间:2023-11-29 02:07:19 45 4
gpt4 key购买 nike

我正在尝试为具有 10dp 填充和 10dp 圆角的 java 代码动态创建 CustomButton。我写了以下内容:

public class CustomButton extends Button {

private GradientDrawable gd;
private ShapeDrawable sd;
private LayerDrawable ld;
private StateListDrawable sld;

public CustomButton(Context context) {

super(context);

gd = new GradientDrawable(GradientDrawable.Orientation.TL_BR, new int[]{Color.parseColor("#39D100"), Color.parseColor("#369212")});
gd.setCornerRadius(10);

sd = new PaintDrawable();
sd.setPadding(10, 10, 10, 10);

ld = new LayerDrawable( new Drawable[]{sd, gd} );

sld = new StateListDrawable();
sld.addState(new int[]{0,1}, ld);

setBackgroundDrawable(sld);

}

}

如果我仅将 GradientDrawable 或仅 ShapeDrawable 添加到 StateListDrawable,它可以正常工作,但如果我将两者都放入 LayerDrawable,则填充和角部分将具有黑色背景,并且不会像预期的那样透明。

截图: image

最佳答案

要去除黑色背景,使用清除油漆颜色

sd.getPaint().setColor(0);

关于android - LayerDrawable图层padding和圆角部分不透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9276452/

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