浮动操作按钮图标不在中心

时间:2019-04-10 14:57:41

标签: android xml android-layout floating-action-button

SO上的other answers都没有帮助我。

这是我的FAB xml:

<com.google.android.material.floatingactionbutton.FloatingActionButton xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/fabTransfer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    app:fabCustomSize="@dimen/fab_size_normal"
    android:layout_margin="16dp"
    app:srcCompat="@drawable/ic_add_white_24dp" />

这是图标xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
<path
    android:fillColor="#FFFFFFFF"
    android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
 </vector>

但是我的图标看起来像这样!

enter image description here

有什么想法吗?我也尝试过使用其他图标(PNG和矢量),但仍然相同。

6 个答案:

答案 0 :(得分:0)

尝试将此属性android:layout_gravity =“ bottom | end”更改为android:layout_gravity =“ center”

答案 1 :(得分:0)

这是因为您写了:android:layout_gravity =“ bottom | end”,所以它最后排在最后。

您应该将其替换为“中心”

如果它不起作用,请尝试:

android:gravity =“ center”

答案 2 :(得分:0)

尝试添加以下属性:

android:foregroundGravity="center" 

因为这是更改绘图对象重力的属性

答案 3 :(得分:0)

解决方案是向FAB添加样式,该样式扩展了Widget.MaterialComponents.FloatingActionButton

<style name="MyFabStyle" parent="Widget.MaterialComponents.FloatingActionButton">
        <item name="backgroundTint">@color/fab_background</item>
        <item name="rippleColor">#0d9bed</item>
</style>

答案 4 :(得分:0)

this answer之后,您应尝试将app:fabCustomSize设置为24dp,以查看其效果是否更好。

答案 5 :(得分:0)

app:fabCustomSize="48dp"