J'essaie d'utiliser un FAB mais l'icône à l'intérieur se situe en bas à droite du bouton:
Ceci est la définition de FAB dans le XML:
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<com.google.Android.material.floatingactionbutton.FloatingActionButton
Android:id="@+id/centerLocationButton"
style="@style/Widget.MaterialComponents.FloatingActionButton"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentEnd="true"
Android:layout_alignParentRight="true"
Android:layout_margin="@dimen/pro_arriving_map_location_button_padding"
Android:src="@drawable/ic_my_location"
app:backgroundTint="@color/white"
app:fabSize="mini" />
</RelativeLayout>
Qu'est-ce que je fais mal?
Ma solution est app:fabCustomSize="56dp"
Cela semble être un bogue dans Design Support Library v28.0.0.
Je pourrais résoudre ce problème en définissant le scaleType par programme.
Dans votre cas dans le code Java/Kotlin:
centerLocationButton.setScaleType(ImageView.ScaleType.CENTER)
Après la mise à jour vers le SDK 28, j'ai le même problème. Changer la taille, scaleType, layout_gravity, etc. retournera la même chose.
Ma solution actuelle à court terme utilise ImageButton.
Au lieu de Android:src
, essayez app:srcCompat
. FAB est la seule chose que vous utilisez, parce que si c'est (à en juger par la photo que vous avez postée), peut-être que vous n'avez pas besoin de RelativeLayout en tant que parent, vous pouvez utiliser Android:layout_gravity="bottom|end"