Java 如何以编程方式定义ShapeDrawable?
如何将此代码转换为JavaJava 如何以编程方式定义ShapeDrawable?,java,android,xml,gradient,Java,Android,Xml,Gradient,如何将此代码转换为Java 现在指示器的颜色是蓝色的,但我希望第一次旋转后的颜色是蓝色,第三次旋转时的颜色是绿色,上面的红色代码只显示一种颜色。我想我可以动态添加更多颜色。这并不容易,我建议如果你能以某种方式在xml中管理它,那么更喜欢它的LayerDrawable和GradientDrawable。好吧,但我是如何在gradient中提供多颜色的??? <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:andro
现在指示器的颜色是蓝色的,但我希望第一次旋转后的颜色是蓝色,第三次旋转时的颜色是绿色,上面的红色代码只显示一种颜色。我想我可以动态添加更多颜色。这并不容易,我建议如果你能以某种方式在xml中管理它,那么更喜欢它的LayerDrawable和GradientDrawable。好吧,但我是如何在gradient中提供多颜色的???
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape android:shape="ring" android:innerRadiusRatio="3"
android:thicknessRatio="8" android:useLevel="false">
<gradient android:type="sweep" android:useLevel="false"
android:startColor="#4c737373" android:centerColor="#4c737373"
android:centerY="0.50" android:endColor="#ffffd300" />
</shape>
</item>
<item android:id="@android:id/progress">
<rotate
android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
android:toDegrees="360">
<shape android:shape="ring" android:innerRadiusRatio="3"
android:thicknessRatio="8" android:useLevel="false">
<size android:width="48dip" android:height="48dip" />
<gradient android:type="sweep" android:useLevel="false"
android:startColor="#4c737373" android:centerColor="#4c737373"
android:centerY="0.50" android:endColor="#ffffd300" />
</shape>
</rotate>
</item>
</layer-list>