我正在使用最新版本的com.google.android.material:material
库(即1.1.0-alpha03
),并且我定义了一个带图标且没有文本的MaterialButton
,如下所示:
我希望将MaterialButton
渲染为一个正方形,图标居中,但是MaterialButton
渲染如下:
如果我将iconGravity
的值更改为"textStart"
,则MaterialButton
的呈现方式如下:
这对图标的位置略有改善,但是图标仍然偏离中心一点。如果我将insetLeft
,insetRight
,insetTop
和insetBottom
值更改为0dp
,则MaterialButton
呈现如下:
这是对按钮形状的改进,但是图标仍然偏离中心一点。
有人知道我还有其他方法可以将图标放在MaterialButton
中吗?
最佳答案
找到了。我缺少的属性是app:iconPadding="0dp"
。
因此,根据我的实验,创建方形MaterialButton
(具有居中图标且没有文本)所需的最小属性如下:
<com.google.android.material.button.MaterialButton
android:layout_width="52dp"
android:layout_height="52dp"
android:insetLeft="0dp"
android:insetTop="0dp"
android:insetRight="0dp"
android:insetBottom="0dp"
app:icon="@drawable/icon_next"
app:iconGravity="textStart"
app:iconPadding="0dp" />
这些属性产生一个
MaterialButton
,如下所示: