Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中修改可在代码中绘制的形状的渐变_Java_Android_Button_Colors_Gradient - Fatal编程技术网

Java 在Android中修改可在代码中绘制的形状的渐变

Java 在Android中修改可在代码中绘制的形状的渐变,java,android,button,colors,gradient,Java,Android,Button,Colors,Gradient,我一直在网上搜索,但还是没有运气 问题: 应用程序连接到服务器以检索一些颜色,然后将这些颜色分配给应用程序中的各种控件 我的问题是,我希望对Edittext和Button控件使用xml中定义的样式,但如果我设置控件的背景颜色,它会删除任何预定义的样式 我有一个选择器,可为按下、聚焦和正常设定样式 如何从代码中修改选择器中的渐变 请注意:要求颜色来自服务器(仅为十六进制值) main(JAVA) 有没有办法我可以做这样的事情:(伪) 我需要能够通过webrequest获得颜色,而不是在xml中预定

我一直在网上搜索,但还是没有运气

问题:

应用程序连接到服务器以检索一些颜色,然后将这些颜色分配给应用程序中的各种控件

我的问题是,我希望对Edittext和Button控件使用xml中定义的样式,但如果我设置控件的背景颜色,它会删除任何预定义的样式

我有一个选择器,可为按下、聚焦和正常设定样式

如何从代码中修改选择器中的渐变

请注意:要求颜色来自服务器(仅为十六进制值)

main(JAVA)

有没有办法我可以做这样的事情:(伪)

我需要能够通过webrequest获得颜色,而不是在xml中预定义

我一定有办法做到这一点。 如果我必须取消预定义的样式,那就好了

我对android/java和堆栈溢出非常陌生,所以请温柔一点
提前谢谢

试试这样的

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);
}