我一直在网上搜索,但仍然没有运气。
问题:
应用程序连接到服务器以检索一些颜色,然后将这些颜色分配给应用程序中的各种控件。
我的问题是我想在xml中使用为Edittext和Button控件定义的样式,但是如果我设置控件的背景颜色,它会删除任何我预定义的样式。
我有一个选择器drawable,具有已定义的样式,用于按下,聚焦和正常
如何从代码中修改选择器中的渐变。
请注意:要求颜色来自服务器(只是十六进制值)
main(JAVA)
int gradientColour1= "comes from server"
int gradientColour2= "also comes from server"
Button btnNext = (Button)findViewById(R.id.btnnext);
btnNext.setBackgroundColor(gradientColor1);
有没有办法可以做这样的事情:(伪)
Gradient grad = new Gradient(gradientColor1,gradientColor2,90);
btnNext.setBackgroundGradient(grad);
btnNext.setBorderRadius(15);
我需要能够通过webrequest获取颜色,而不是在xml中预定义
我必须有办法做到这一点。 如果我不得不取消预先定义的样式,那就没问题了。
我对android / java和Stack Overflow很新,所以请保持温和 提前致谢
答案 0 :(得分:1)
尝试这样的事情......
public void setGradientColor(int endColor, int startColor) {
GradientDrawable gradient = new GradientDrawable(Orientation.BOTTOM_TOP, new int[] {endColor, startColor});
gradient.setShape(GradientDrawable.RECTANGLE);
gradient.setCornerRadius(10.f);
btnNext.setBackgroundDrawable(gradient);
}