86 votes

Comment définir la hauteur de la barre de progression d'Android ?

Mon activity_main.xml est en dessous, comme vous le voyez, la hauteur est de s

Et dans MyEclipse, cela ressemble à ce qui suit :

enter image description here

Mais lorsque je l'exécute sur mon téléphone, il ressemble à ce qui suit :

enter image description here

Ma question est donc de savoir pourquoi la hauteur réelle de la barre de progression n'est pas celle que j'ai définie ? Comment augmenter la hauteur de la barre de progression ?

14voto

Gabriele Mariotti Points 7243

Vous pouvez utiliser le LinearProgressIndicator fournis par la bibliothèque des composants matériels et la app:trackThickness attribut :

<com.google.android.material.progressindicator.LinearProgressIndicator
    android:indeterminate="true"
    app:trackThickness="xxdp"
    ../>

Avec 12dp :

enter image description here

Avec 4dp :

enter image description here

Note : il faut au moins la version 1.3.0-alpha04 .

13voto

MansApps Points 219

Beaucoup de solutions ici avec beaucoup de votes positifs n'ont pas fonctionné pour moi, même la réponse acceptée. J'ai résolu le problème en réglant le scaleY, mais ce n'est pas une bonne solution si vous avez besoin de trop de hauteur parce que le dessinable est pixellisé.

De manière programmée :


progressBar.setScaleY(2f);

Mise en page XML :


android:scaleY="2"

9voto

Android Developer Points 1019
<ProgressBar  
android:minHeight="20dip" 
android:maxHeight="20dip"/>

6voto

Syeda Points 105

Voici la barre de progression que j'ai utilisée.

<ProgressBar
     android:padding="@dimen/dimen_5"
     android:layout_below="@+id/txt_chklist_progress"
     android:id="@+id/pb_media_progress"
     style="@style/MyProgressBar"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center"
     android:progress="70"
     android:scaleY="5"
     android:max="100"
     android:progressBackgroundTint="@color/white"
     android:progressTint="@color/green_above_avg" />

Et voici mon étiquette de style

 <style name="MyProgressBar" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
    <item name="android:progressBackgroundTint">@color/white</item>
    <item name="android:progressTint">@color/green_above_avg</item>
</style>

4voto

Talha Points 6003

Valeurs->styles.xml

<style name="tallerBarStyle" parent="@android:style/Widget.SeekBar">
    <item name="android:indeterminateOnly">false</item>
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item>
    <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item>
    <item name="android:minHeight">8dip</item>
    <item name="android:maxHeight">20dip</item>
</style>

Ensuite, dans votre ProgressBar, ajoutez :

style="@style/tallerBarStyle"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X