Android:浮动按钮图标不居中

rab*_*t87 26 android floating-action-button

我正在尝试在我的应用中创建一个浮动按钮.按钮在那里,但按钮中的图像有点向上(见图像).

在此输入图像描述

我无法弄清楚它有什么问题.下面是浮动按钮的XML的一部分.

<android.support.design.widget.FloatingActionButton
        android:id="@+id/buttonUp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="16dp"
        android:layout_marginTop="480dp"
        android:clickable="true"
        android:scaleType="center"
        android:src="@drawable/btn_back_to_top_3x"
        app:layout_anchor="@id/layout"
        app:layout_anchorGravity="bottom|right|end"
        app:backgroundTint="@android:color/background_light"
        app:fabSize="normal" />
Run Code Online (Sandbox Code Playgroud)

按钮显示我想要的位置.唯一的问题似乎是里面的图像不是中心.为什么会这样?

编辑:经过一些更多的环顾四周我意识到图像本身存在问题,其中图像实际上没有居中,底部有空间(导致图像向上推).

Meh*_*tab 73

我遇到了同样的问题.以下解决方案对我有用

app:fabCustomSize="40dp"
Run Code Online (Sandbox Code Playgroud)

  • 这应该被接受作为答案. (5认同)
  • `app:fabCustomSize` 值不应始终为 40dp。取决于每个视图我必须使用 50dp (2认同)

Hos*_*our 23

您应将FabCustomSize值设置为类似于FAB的确切大小:

<android.support.design.widget.FloatingActionButton
        android:layout_width="60dp"
        android:layout_height="60dp"
        app:fabCustomSize="60dp"
        android:src="@drawable/plus_icon"
        app:rippleColor="@color/colorPrimaryDark" />
Run Code Online (Sandbox Code Playgroud)


Rob*_*uez 5

我只是设置了 app:fabCustomSize=”40dp”(需要的大小)并将高度和宽度设置为 wrap_content 然后问题解决了


Cha*_*ruක 4

原因是你的图片尺寸不合适!

浮动操作按钮默认圆圈大小为 56 x 56dp,为了获得最适合的背景图像,请使用它!

如果你想要一个迷你应该是:40 x 40dp

如果您只想更改内部图标(仅图标),请使用 24 x 24dp 图标作为默认大小

为了再次测试这一点,我从互联网上下载了一张图像,并将其缩小到 56dp,并保留了一个小空间来平衡它(我不擅长 Photoshop)

在此输入图像描述

并将其添加到您的 FB 视图中并将背景设为黄色以使其清晰。让我们看看

输出:

在此输入图像描述

这意味着它取决于您添加的图像及其大小,如果您想要完整的背景,您甚至可以使用imageButton

请参阅:https ://material.io/guidelines/components/buttons-floating-action-button.html#buttons-floating-action-button-floating-action-button