如何重新创建进度栏旋转?

问题描述 投票:2回答:1

如何重新创建类型为ProgressBarprogressBarStyleLarge的旋转?

我有这种布局:

<androidx.core.widget.ContentLoadingProgressBar
    android:id="@+id/loadingIndicator"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:indeterminateDrawable="@drawable/loadingindicator"
    style="?android:attr/progressBarStyleLarge" />

可绘制loadingindicator

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="0"
    android:toDegrees="360" >

    <shape
        android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="40"
        android:useLevel="false" >

        <size
            android:height="48dip"
            android:width="48dip" />

        <gradient
            android:startColor="#ff00ff"
            android:centerColor="#ff00ff"
            android:endColor="#ffffff"
            android:centerY="0.50"
            android:type="sweep"
            android:useLevel="false" />
    </shape>

</rotate>

但是这会导致平滑的恒定旋转,而不是-我相信-以默认样式显示的2个平行旋转。

特别是我想重新创建Indeterminate circular progress indicator的动画,如下所示:https://material.io/components/progress-indicators/#circular-progress-indicators

XY问题披露:我需要这个,因为我想自定义ProgressBar的笔触粗细和外部边缘。

android android-progressbar
1个回答
1
投票

您可以在代码中使用CircularProgressDrawable,例如:

© www.soinside.com 2019 - 2024. All rights reserved.