Android 调整浮动操作按钮(fab)的图标大小
新的浮动操作按钮应为56dp x 56dp,其中的图标应为24dp x 24dp。因此,图标和按钮之间的间距应为16dpAndroid 调整浮动操作按钮(fab)的图标大小,android,material-design,floating-action-button,material-components-android,android-icons,Android,Material Design,Floating Action Button,Material Components Android,Android Icons,新的浮动操作按钮应为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="16d
<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
这就是我得到的结果:我使用了\material-design-icons-1.0.0\content\drawable hdpi\ic\u add\u black\u 48dp.png中的图标
如何使按钮内图标的大小与指南中所述的大小一致
在您提供的背景下,我的设备(Nexus 7 2012)上会出现以下按钮
我觉得不错 由于您的内容是24dp x 24dp,您应该使用。然后在ImageButton中设置android:scaleType=“center”,以避免自动调整大小。在dimens中输入此项
<!--Floating action button-->
<dimen name="design_fab_image_size" tools:override="true">36dp</dimen>
36dp
这里36dp是浮点按钮上的图标大小。这将为浮动操作按钮的所有图标设置36dp大小
根据评论进行更新
如果您想将图标大小设置为特定的浮动操作按钮,只需使用浮动操作按钮属性,如app:fabSize=“normal”和android:scaleType=“center”
app:fabSize=“正常”
android:scaleType=“中心”
设计指南定义了两种尺寸,除非有充分理由不使用这两种尺寸,否则可以使用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
类似于ImageView
,因此您可以使用scaleType
属性更改图标大小。FAB
的默认scaleType
为fitCenter
。您可以使用center
和centerInside
分别使图标变小和变大
scaleType
属性的所有值都是-center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY
和matrix
有关更多详细信息,请参见。摘自@IRadha的答案
在矢量可绘制设置中android:height=“\u dp”
并将刻度类型设置为android:scaleType=“center”
将drawable设置为设置的任何大小在将支持库更新到v28.0.0后,尝试使用
app:maxImageSize=“56dp”
代替上述答案您的目标是什么
如果将图标图像大小设置为更大:
(以便您可以为图标设置最大图像大小)
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src= <image here>
app:fabCustomSize="112dp"
app:fabSize="auto"
app:maxImageSize="84dp" />
如果您使用的是androidx 1.0.0,并且使用的是自定义晶圆厂尺寸,则必须使用
app:fabCustomSize="your custom size in dp"
deafult的大小是56dp,还有另一个变体是小尺寸的fab,它是40dp,如果您使用任何东西,您必须指定它才能正确计算填充量。您可以使用以下浮动操作按钮设置:android:scaleType和app:maxImageSize。对我来说,如果android:scaleType=“centerInside”和app:maxImageSize=“56dp”,我会得到一个理想的结果。定制晶圆厂有三个关键的XML属性:
:可选择“迷你”(40dp)、“普通”(56dp)(默认)或“自动”app:fabSize
:这将决定整个FAB的大小app:fabCustomSize
:这将决定图标大小app:maxImageSize
例如:
app:fabCustomSize="64dp"
app:maxImageSize="32dp"
晶圆填充(图标和背景圆之间的空间,也称为波纹)通过以下方式隐式计算:
4-edge padding = (fabCustomSize - maxImageSize) / 2.0 = 16
请注意,可以通过常用的
android:margin
xml标记属性设置晶圆厂的边距。使用ExtendedFloatingActionButton,这为我解决了以下问题:
app:iconSize="<x>dp"
app:iconSize=“dp”
我尝试了
iconadding
或fabCustomSize
,但似乎没有任何变化您可以使用
最终FloatingActionButton=新的FloatingActionButton(上下文)
按钮。设置自定义大小(50)
我设置了填充物,但它不起作用。正确的填充应该是16 dp而不是32 dp。你能解释一下或删除某个站点的链接吗,例如在drawable hdpi文件夹中,为什么有_18dp.png、_24dp.png、_36dp.png、_48dp.png图像。我不明白你的问题,有18dp、24dp、,36dp和48dp用于不同大小的图像。您还记得旧的Android_Design_图标吗?它在hdpi文件夹中只有一个图标的变体,即48px 48px。为什么现在在hdpi文件夹中,同一图标有4种不同的分辨率,即27px x 27 px、36px x 36px、54px x 54px、72px x 72px?ImageButton是ImageView的一个子类,因此您有一个scaleType属性,默认scaleType不再适用于com.android。支持:support-v4:28.0.0-rc01Yes。这对我不起作用。当您使用androids FloatingActionButtonYeaaaah时,它可以工作,但我不想在整个应用程序中这样做@StarWind0 I如果要应用单个浮动操作按钮,则必须使用fabSize和scaleType属性。我已经更新了我的答案。不管怎样,你在28.0.0版本中没有得到这个,你会在androidx中得到它。我没有切换到androidx,这是我正在使用的:api'com.android.support:design:28.0.0'这对我来说很有用,但我想了解更多信息,了解为什么定义
maxIconSize
会更改图标大小。你能告诉我如何通过编程设置maxImageSize吗?我找不到答案。这正是我要找的!您甚至不需要设置layout\u宽度
app:fabCustomSize="64dp"
app:maxImageSize="32dp"
4-edge padding = (fabCustomSize - maxImageSize) / 2.0 = 16
app:iconSize="<x>dp"