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 ?
Réponses
Trop de publicités?Pour moi, cela fonctionne. La barre de progression est nette. Elle s'adapte parfaitement. J'ai essayé avec différentes hauteurs de cadre et de progression.
<FrameLayout
android:layout_width="match_parent"
android:layout_height="4dp">
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="16dp"
android:layout_gravity="center"
android:indeterminate="true"/>
</FrameLayout>
L'ajout de Android:progressDrawable à une liste de couches définie dans drawable a réglé le problème pour moi. Cela fonctionne en masquant la barre de progression dans un drawable personnalisé.
exemple de mise en œuvre décrit à https://stackoverflow.com/a/4454450/1145905
J'utilise style="@style/Widget.AppCompat.ProgressBar.Horizontal"
et il était assez facile de se débarrasser des marges. Ce style est :
<item name="progressDrawable">@drawable/progress_horizontal_material</item>
<item name="indeterminateDrawable">@drawable/progress_indeterminate_horizontal_material</item>
<item name="minHeight">16dip</item>
<item name="maxHeight">16dip</item>
Je viens de passer outre la hauteur min/max :
<ProgressBar
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="2dp"
android:indeterminate="true"
android:minHeight="2dp"
android:maxHeight="2dp" />
Utilisez simplement le Material ProgressIndicator qui n'a pas de marge cachée.
<com.google.android.material.progressindicator.ProgressIndicator
android:id="@+id/progressBar"
style="@style/Widget.MaterialComponents.ProgressIndicator.Linear.Indeterminate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:indicatorColor="@color/colorPrimary"
app:trackColor="@color/colorAccent" />
Vous avez le setPadding()
pour le faire de manière programmatique. ( doc )
Ou vous pouvez utiliser android:paddingLeft="0px"
et android:paddingRight="0px"
en xml.