web-dev-qa-db-fra.com

Comment afficher un cercle d'activités à thème holo?

J'ai essayé de montrer un cercle d'activité indéterminé comme celui-ci:

enter image description here

Voici le code de mise en page:

<ProgressBar
    Android:id="@+id/progress"
    style="@style/GenericProgressIndicator"
    Android:layout_width="wrap_content"
    Android:layout_height="fill_parent"
    Android:layout_gravity="center_vertical|center_horizontal"
    Android:visibility="gone" />

Voici le code de style:

<style name="GenericProgressIndicator" parent="@Android:style/Widget.ProgressBar.Large">
    <item name="Android:layout_width">wrap_content</item>
    <item name="Android:layout_height">wrap_content</item>
    <item name="Android:indeterminate">true</item>
</style>

Mon cercle ne ressemble en rien au cercle sur le thème Holo que vous voyez dans l'application Gmail ou l'application Play. Qu'est-ce que je fais mal? Comment obtenir le cercle d'activité animé Nice Holo?

34
Mridang Agarwalla

Ce n'était vraiment documenté nulle part et je l'ai trouvé à travers un article aléatoire. L'ajout de cet attribut de style fait l'affaire:

style="?android:attr/progressBarStyleLarge"

La seule référence à cela dans la documentation du développeur est ici .

57
Mridang Agarwalla

Votre première mise en page était correcte mais vous avez choisi le mauvais style. Le bon est:

style="@Android:style/Widget.Holo.Light.ProgressBar.Large"
20
vault

Quelle version de Android utilisez-vous? Si vous n'utilisez pas une version avec Holo, vous ne pourrez pas afficher les choses en utilisant le style Holo. Une solution à cela consiste à utiliser un bibliothèque comme ActionBarSherlock, qui rétroporte le thème Holo aux versions précédentes Android.

2
CNorris