新的浮动动作按钮应该是56dp x 56dp,图标应该是24dp x 24dp。所以图标和按钮之间的间距应该是16dp。

<ImageButton
    android:id="@+id/fab_add"
    android:layout_width="56dp"
    android:layout_height="56dp"
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="16dp"
    android:layout_marginRight="16dp"
    android:background="@drawable/ripple_oval"
    android:elevation="8dp"
    android:src="@drawable/ic_add_black_48dp" />

ripple_oval.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item>
        <shape android:shape="oval">
            <solid android:color="?android:colorAccent" />
        </shape>
    </item>
</ripple>

这是我得到的结果: 我使用了\material-design-icons-1.0.0\content\draw -hdpi\ic_add_black_48dp.png中的图标 https://github.com/google/material-design-icons/releases/tag/1.0.1

如何使按钮内的图标的大小完全按照指导方针所述?

http://www.google.com/design/spec/components/buttons.html#buttons-floating-action-button


当前回答

因为你的内容是24dp x 24dp,你应该使用24dp图标。然后在ImageButton中设置android:scaleType="center"以避免自动调整大小。

其他回答

因为FAB类似于ImageView,所以你可以使用scaleType属性来改变图标的大小。FAB的默认scaleType为fitCenter。你可以使用center和centerInside来使图标分别变小和变大。

scaleType属性的所有值是- center, centerCrop, centerInside, fitCenter, fitEnd, fitStart, fitXY和matrix。

详情见https://developer.android.com/reference/android/widget/ImageView.ScaleType.html。

你的目标是什么?

如果将图标图像大小设置为较大:

确保图像大小大于你的目标大小(这样你就可以为你的图标设置最大图像大小) 我的目标图标图像大小是84dp, fab大小是112dp: < android.support.design.widget.FloatingActionButton android: layout_width = " wrap_content " android: layout_height = " wrap_content " android: layout_gravity = "中心" Android:src= <image here> 应用:fabCustomSize = " 112 dp” 应用:fabSize =“自动” 应用:maxImageSize = " 84 dp " / >

    android:id="@+id/floatingActionButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:clickable="true"
    app:backgroundTint="#FBFAFA"
    app:fabCustomSize="70dp"
    app:fabSize="mini"
    app:maxImageSize="84dp"
    app:srcCompat="@drawable/resim"
    app:tint="#E81C1C"
    tools:layout_editor_absoluteX="325dp"
    tools:layout_editor_absoluteY="517dp" />

我是这样处理的

设计指南定义了两种大小,除非有强烈的理由不使用其中任何一种,否则大小可以通过FloatingActionButton组件的fabSize XML属性来控制。

考虑使用app:fabSize="normal"或app:fabSize="mini"来指定,例如:

<android.support.design.widget.FloatingActionButton
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/ic_done_white_24px"
   app:fabSize="mini" />

您可以轻松设置您的FAB图标大小使用,

final FloatingActionButton按钮= new FloatingActionButton(context); button.setCustomSize (50);