android - programacion - Cómo hacer una Barra de Progreso Radial/Circular No Girar
manual programacion android español pdf (3)
No hay un widget estándar de Android que haga lo que quieres.
Sin embargo, puede usar esta biblioteca que lo hace: https://github.com/Todd-Davies/ProgressWheel .
Tengo una barra de ProgressBar
horizontal que funciona muy bien.
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyle"
android:layout_width="match_parent"
android:layout_height="15dp"
android:layout_marginBottom="5dp"
android:background="@drawable/progress_radial_background"
android:progressDrawable="@drawable/custom_progress_bar" />
Hago esto:
pb.setMax(100);
pb.set(point);
Y muestra el estado del nivel de un usuario. Cuando se llena todo el camino, alcanzan un nuevo nivel y comienza de nuevo. Solo se moverá / aumentará cuando el usuario realice alguna acción para aumentar los puntos.
Sin embargo, me gustaría hacer esta circular en lugar de horizontal. Pero cuando lo hago, no detiene la animación giratoria (como una animación de carga). ¿Puedo hacer el ProgressBar
circular de la misma manera?
Código de barra de progreso personalizado en mi carpeta de Drawable
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@android:id/background"
android:drawable="@drawable/list_press">
<corners android:radius="6dp" />
</item>
<item android:id="@android:id/progress">
<clip android:drawable="@drawable/progress_bar_green" />
</item>
</layer-list>
Por favor, eche un vistazo a esta biblioteca de GitHub llamada RefreshActionItem, creo que es exactamente lo que está buscando:
https://github.com/ManuelPeinado/RefreshActionItem?source=cc
Usted tiene este también para otra idea o simplemente eche un vistazo:
This cartel parece haber encontrado una respuesta.
Parece que tomaron los elementos dibujables de Android para la barra de progreso circular y el relleno, especificados en el diseño xml de que era una barra de progreso horizontal y lo determinaron.