Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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
Android如何以编程方式更改进度可绘制颜色_Android_Android Progressbar - Fatal编程技术网

Android如何以编程方式更改进度可绘制颜色

Android如何以编程方式更改进度可绘制颜色,android,android-progressbar,Android,Android Progressbar,我有一个自定义的进度画为我的水平进度条 以下是进度条: <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleHorizontal" android:progress="20" android:layout_width="0dp"

我有一个自定义的进度画为我的水平进度条

以下是进度条:

<ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:progress="20"
        android:layout_width="0dp"
        android:layout_height="60dp"
        android:layout_marginTop="32dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
我无法设置id背景、次要进度和进度的笔划、转角和渐变。
请建议我应该如何通过编程创建和更改整个自定义可绘制进度的颜色。

您可以将此示例用作进度条

    <ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_centerInParent="true"
    android:indeterminate="false"
    android:max="100"
    android:progress="0"
    android:progressDrawable="@drawable/custom_progressbar_drawable"
    android:secondaryProgress="0" />

然后为custom_progressbar_drawable创建一个可绘制资源文件

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="-90"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="270" >

<shape
    android:shape="ring"
    android:thickness="5.5dp"
    android:useLevel="false" >
    <gradient
        android:centerY="0.5"
        android:endColor="@color/grad"
        android:startColor="@color/light_blue"
        android:type="sweep"
        android:useLevel="false" />
</shape>

</rotate>

也许这可以帮助您。我需要更改程序,因为颜色来自服务器
    <ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_centerInParent="true"
    android:indeterminate="false"
    android:max="100"
    android:progress="0"
    android:progressDrawable="@drawable/custom_progressbar_drawable"
    android:secondaryProgress="0" />
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="-90"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="270" >

<shape
    android:shape="ring"
    android:thickness="5.5dp"
    android:useLevel="false" >
    <gradient
        android:centerY="0.5"
        android:endColor="@color/grad"
        android:startColor="@color/light_blue"
        android:type="sweep"
        android:useLevel="false" />
</shape>

</rotate>