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.
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.
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
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"/>
dans le xml définissant votre barre de progression, vous pouvez ajouter
style="@android:style/Widget.ProgressBar.Horizontal"
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!