Android渐变可绘制颜色变化
我在drawable文件夹中有一个可绘制的形状。以下是XML结构:Android渐变可绘制颜色变化,android,colors,gradient,shape,Android,Colors,Gradient,Shape,我在drawable文件夹中有一个可绘制的形状。以下是XML结构: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#4D0418" andr
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#4D0418"
android:centerColor="#5F031D"
android:endColor="#7D0227"
android:angle="-90" />
</shape>
现在我想在运行时更改java代码中的startColor、centerColor和endColor。如何进行更改?不幸的是,没有API来执行此操作。我将在未来的Android版本中添加一个。您应该可以使用Java反射来完成。是否有必要在不使用任何XML的情况下通过Java代码重新创建总体可绘制性?我已经创建了一个GradientDrawable,它可以替代。但是我怎样才能把它设置成任何形状呢?我应该使用ShapeDrawable吗?如果是,那么如何将GradientDrawable设置为ShapeDrawable?GradientDrawable是这两者的替代品,GradientDrawable似乎没有任何与ShapeDrawable的setShaderFactory方法等效的内容。嗯。:-/这似乎是在。