我正在开发一个Android应用程序,我试图通过编码动态地将渐变添加到按钮。如果我静态地在xml中应用渐变,6位十六进制代码将起作用;但是当我尝试从java更改渐变时不起作用。在这种情况下,8位十六进制代码有效。 请帮我解决这个问题。Android的十六进制代码问题
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位数代码来得到我的代码!
没有足够的信息来帮助你。 – JoxTraex
添加一些相关的代码。 –
我编辑的信息能够帮助您了解我的问题吗? –