105 votes

Comment créer une barre de progression de chargement horizontale ?

Lors de la désinstallation d'une application Android, ou lors d'une configuration, une barre de progression horizontale apparaît, comme dans l'image suivante :

progress bar

Ce n'est pas le même style que @android:style/Widget.ProgressBar.Horizontal .

Comment l'utiliser dans ma propre application ?

216voto

Vitas Points 2087

Il suffit d'ajouter un STYLE ligne et votre progression devient horizontale :

<ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/progress"
        android:layout_centerHorizontal="true"      
        android:layout_centerVertical="true"      
        android:max="100" 
        android:progress="45"/>

83voto

Jaspinder Kaur Points 969

Pour l'utilisation de la nouvelle barre de progression

style="?android:attr/progressBarStyleHorizontal"

pour l'ancienne barre de progression de couleur grise, utilisez

style="@android:style/Widget.ProgressBar.Horizontal"

dans celui-ci, vous avez la possibilité de modifier la hauteur en définissant la hauteur minimale.

Le code XML complet est :

<ProgressBar
    android:id="@+id/pbProcessing"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvProcessing"
    android:indeterminateOnly="true"/>

indeterminateOnly est défini à true pour obtenir une barre de progression horizontale indéterminée

80voto

Sergey Glotov Points 8390

Il est Widget.ProgressBar.Horizontal sur mon téléphone, si je règle android:indeterminate="true"

17voto

venciallee Points 745

Barre de progression dans la mise en page

<ProgressBar 
    android:id="@+id/download_progressbar"
    android:layout_width="200dp"
    android:layout_height="24dp"
    android:background="@drawable/download_progress_bg_track"
    android:progressDrawable="@drawable/download_progress_style"
    style="?android:attr/progressBarStyleHorizontal"
    android:indeterminate="false"
    android:indeterminateOnly="false" />

télécharger_progress_style.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/progress">
        <scale 
          android:useIntrinsicSizeAsMinimum="true" 
          android:scaleWidth="100%" 
          android:drawable="@drawable/store_download_progress" />
    </item>
</layer-list>

store_download_progress.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ff207d94" />
</shape>

12voto

AmrDeveloper Points 113

Vous pouvez maintenant le créer facilement en utilisant LinearProgressIndicator à partir de la conception matérielle avec beaucoup de personnalisation, par exemple

<com.google.android.material.progressindicator.LinearProgressIndicator
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:indeterminate="true" />

Consultez le lien MaterialDesign pour obtenir plus d'informations et des exemples de code.

https://material.io/components/progress-indicators/Android#using-progress-indicators

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