Java 在Android中修改可在代码中绘制的形状的渐变
我一直在网上搜索,但还是没有运气 问题: 应用程序连接到服务器以检索一些颜色,然后将这些颜色分配给应用程序中的各种控件 我的问题是,我希望对Edittext和Button控件使用xml中定义的样式,但如果我设置控件的背景颜色,它会删除任何预定义的样式 我有一个选择器,可为按下、聚焦和正常设定样式 如何从代码中修改选择器中的渐变 请注意:要求颜色来自服务器(仅为十六进制值) main(JAVA) 有没有办法我可以做这样的事情:(伪) 我需要能够通过webrequest获得颜色,而不是在xml中预定义 我一定有办法做到这一点。 如果我必须取消预定义的样式,那就好了 我对android/java和堆栈溢出非常陌生,所以请温柔一点Java 在Android中修改可在代码中绘制的形状的渐变,java,android,button,colors,gradient,Java,Android,Button,Colors,Gradient,我一直在网上搜索,但还是没有运气 问题: 应用程序连接到服务器以检索一些颜色,然后将这些颜色分配给应用程序中的各种控件 我的问题是,我希望对Edittext和Button控件使用xml中定义的样式,但如果我设置控件的背景颜色,它会删除任何预定义的样式 我有一个选择器,可为按下、聚焦和正常设定样式 如何从代码中修改选择器中的渐变 请注意:要求颜色来自服务器(仅为十六进制值) main(JAVA) 有没有办法我可以做这样的事情:(伪) 我需要能够通过webrequest获得颜色,而不是在xml中预定
提前谢谢试试这样的
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);
}
工作得很好。正是我想要的谢谢!
Gradient grad = new Gradient(gradientColor1,gradientColor2,90);
btnNext.setBackgroundGradient(grad);
btnNext.setBorderRadius(15);
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);
}