[英]Modify the gradient of a shape drawable in code in Android
我一直在网上搜索,但还是没有运气。
问题:
应用程序连接到服务器以检索一些颜色,然后将这些颜色分配给应用程序中的各种控件。
我的问题是我想将xml中定义的样式用于Edittext和Button控件,但是如果我设置控件的背景色,它将删除我的任何预定义样式。
我有一个可绘制的选择器,它具有用于按下,聚焦和正常的已定义样式
如何从代码中修改选择器中的渐变。
请注意:这是颜色必须来自服务器的要求(这只是一个十六进制值)
主(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的新手,所以请保持谨慎
试试这样的东西...
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.