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.
Je savais déjà que setIndeterminate
donnera une barre de progression horizontale infinie. Mais elle sera similaire à la roue de chargement, sauf qu'elle sera horizontale. Si vous voyez ma question, je cherchais une barre horizontale qui part de 0 et va jusqu'à 100 (une augmentation progressive). Si vous souhaitez y parvenir 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é ProgressDrawable et IndeterminateDrawable. Les tirables d'origine se trouvent sous frameworks/base/core/res/res/drawable
. Copiez-les dans votre projet et changez la couleur selon vos besoins.
Créez un fil qui met à jour le nombre de progrès et fait un Thread.Sleep
. Ensuite, il envoie le message au gestionnaire qui mettra à jour la barre de progression dans le thread d'interface utilisateur.
Utilisez la méthode setIndeterminate de ProgressBar:
Android.widget.ProgressBar bar = new Android.widget.ProgressBar(context);
bar.setIndeterminate(true);
Mais oui, vous auriez pu trouver cela assez rapidement dans la documentation du développeur.
http://developer.Android.com/reference/Android/widget/ProgressBar.html#setIndeterminate%28boolean%29
Pour développer Vinoth Answer, 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"/>
Peut-être un peu tard, mais vous pouvez faire quelque chose comme ça:
<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 cela aide quelqu'un!
Dans le xml définissant votre barre de progression, vous pouvez ajouter
style="@Android:style/Widget.ProgressBar.Horizontal"