Comment afficher une barre de progression horizontale pour un androïde indéterminé

comment afficher une barre de progression horizontale indéterminée dans android? L'animation de la barre de progression doit commencer de 0 à 100 puis revenir de 100 à 0 en continu. Je ne cherche pas la barre de progression de la roue.

37
demandé sur Gian Patrick Quintana 2011-06-23 08:29:47

5 réponses

je savais déjà que setIndeterminate donnera une barre de progression horizontale infinie. Mais elle sera semblable à la roue de chargement, sauf qu'elle sera horizontale. Si vous voyez ma question, je cherchais la barre horizontale qui commence par 0 et va jusqu'à 100 (une augmentation graduelle). Si vous voulez réaliser ceci dans Android, vous devez utiliser votre barre de progression comme ci-dessous:

 <ProgressBar
    android:id="@+id/progress_horizontal"
    android:indeterminateOnly="false"
    android:indeterminateDrawable="@drawable/progress_indeterminate_horizontal"
    android:progressDrawable="@drawable/progress_horizontal"
    android:minHeight="24dip"
    android:maxHeight="24dip" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

comme je voulais changer l'arrière-plan de ma barre de progression, j'ai changé le ProgressDrawable et IndeterminateDrawable. Les tirables originaux sont situés sous frameworks/base/core/res/res/drawable. Copie à votre projet et changer la couleur en fonction de vos besoins.

Créer un thread qui met à jour les progrès de comte et un Thread.Sleep. Puis il envoie le message au gestionnaire qui mettra à jour la barre de progression dans le thread UI.

38
répondu Vinoth 2015-01-21 21:53:47

Utilisez la méthode setIndeterminate of ProgressBar:

android.widget.ProgressBar bar = new android.widget.ProgressBar(context);
bar.setIndeterminate(true);

Mais oui, vous auriez pu trouver ça assez rapidement dans les documents des développeurs.

http://developer.android.com/reference/android/widget/ProgressBar.html#setIndeterminate%28boolean%29

9
répondu MichaelM 2011-06-23 05:15:43

pour développer la réponse de Vinoth, voici un code prêt:

<ProgressBar
        android:id="@+id/progressBarLoadingRecite"
        android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"
        android:minHeight="24dip"
        android:layout_marginTop="20dip"
        android:indeterminate="true"
        android:maxHeight="24dip"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
7
répondu 2016-01-05 08:39:13

dans le xml définissant votre barre de progression, vous pouvez ajouter

style="@android:style/Widget.ProgressBar.Horizontal"
1
répondu Steve Waring 2015-06-09 15:38:39

Peut-être un peu tard, mais vous pouvez faire quelque chose comme ceci:

<ProgressBar
    android:id="@+id/progress"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:indeterminate="true"
    style="?android:attr/progressBarStyleHorizontal" />

J'espère que ça aidera quelqu'un!

0
répondu Alvaro Falcon Punch 2018-10-03 13:09:46