以编程方式更改可绘制形状参数

change drawable shape parameter programmatically

我想制作环形加载效果,为此我必须更改 dashWidth 值。

我想以编程方式执行此操作。

<?xml version="1.0" encoding="utf-8"?>
<shape
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="oval">

  <stroke
    android:width="3dp"
    android:color="#8FFFFFFF" 
    android:dashWidth="304dp"
    android:dashGap="500dp"/>

  <size 
    android:width="100dp"
    android:height="100dp"/>
</shape>

很遗憾,可以从笔画访问 dashGap 和 dashWidth 属性。 在将背景对象转换为 GradientDrawable

之后,我只是在背景对象上使用了 setStroke 方法
GradientDrawable background = (GradientDrawable)backgroundContainer.getBackground();
background.setStroke(3, Color.WHITE, 50, 500);