144 votes

Suppression du rembourrage vertical de la barre d'avancement horizontale

Par défaut, la barre de progression présente un certain remplissage au-dessus et au-dessous de la barre elle-même. Existe-t-il un moyen de supprimer ce rembourrage afin de n'avoir que la barre à la fin ?

-1voto

Till Krempel Points 111

Une façon simple de déplacer la barre de progression vers le haut, sans avoir besoin de vues supplémentaires ou de manipuler les marges, consiste à utiliser l'attribut android:translationZ

De cette façon, vous pouvez soit l'utiliser dans le XML

<Progressbar
 android:layout_height="wrap_content"
 android:layout_width="match_parent"
 android:translateY="-6dp"
/>

o

l'utiliser à l'intérieur d'un style

<style name="MyTheme.Progressbar.Horizontal" parent="Widget.AppCompat.Progressbar.Horizontal">
    <item name="android:translateY">-6dp</item>
</style>

et le référencer ensuite dans le Layout comme ceci

<Progressbar
 android:layout_height="wrap_content"
 android:layout_width="match_parent"
 style="@style/MyTheme.Progressbar.Horizontal"
 />

-1voto

Justin Points 178

Augmentez la taille de la barre de progression (en hauteur), puis placez-la dans un frameLayout de la taille souhaitée pour votre barre de progression.

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="10dp">

    <ProgressBar
        android:id="@+id/progress_bar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:backgroundTint="@android:color/transparent"
        android:indeterminate="true"
        android:indeterminateTint="@color/white" />

</FrameLayout>

-1voto

Rubin Yoo Points 953

Voici une simple barre de progression horizontale matérielle sans ajouter de fichier, ni mettre à l'échelle, ni modifier la dimension.

    style="@android:style/Widget.ProgressBar.Horizontal"
    android:progressTint="Your Progress Color"
    android:progressTintMode="src_over"
    android:progressBackgroundTint="Your Background Color"
    android:backgroundTintMode="src_over"

Cela fonctionne en colorant par-dessus la couleur de progression ou de fond présentée dans Widget.ProgressBar.Horizontal

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