我正在开发一个 Android 应用程序,我试图通过编码为按钮动态添加渐变。如果我在 xml 中静态应用渐变,则 6 位十六进制代码有效;但是当我尝试从 java 更改渐变时不起作用。在这种情况下,8 位十六进制代码有效。请帮我解决这个问题。
public void setGradient(btnGradientStartColor,btnGradientEndColor,buttonUnderAction) {
int colors[] = { btnGradientStartColor, btnGradientEndColor };
for(int x:colors){
System.out.println("value in colors[]:"+x);
}
GradientDrawable gradientDrawable = new GradientDrawable(GradientDrawable.Orientation.BL_TR, colors);
btnUnderAction.setBackgroundDrawable(gradientDrawable);
}
我将十六进制颜色代码和按钮 ID 传递给此方法。在这里,如果我传递 6 位十六进制代码,它不起作用,但 8 位十六进制代码起作用。例如 0xff255779 和 0xffa6c0cd 有效,但 0x30196E 和 0x3498db 无效。
有什么方法可以将 6 位十六进制代码转换为 8 位代码,或者我可以让我的代码与 6 位代码一起使用!!!!