我使用的是supportLibrary = "28.0.0-beta01"版本。
下面是我在.xml文件中的代码:
<android.support.design.button.MaterialButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:icon="@drawable/ic_my_orders"
app:iconGravity="textStart"
android:gravity="center"/>
添加到按钮左侧的可绘制位置的代码图标。我想把钮扣放在中间。我想要达到这个结果
编辑
我不需要任何自定义视图或硬编码的东西。如果这是一个bug (app:iconGravity),我将等待下一个版本。
编辑
在版本28.0.0-rc01中修复的错误,只需更改版本即可。
发布于 2018-08-04 06:28:15
原始问题中包含的代码片段是正确的。这已被确定为错误,并将在即将发布的版本中修复。
发布于 2020-05-20 17:33:56
对于Material Components库,只需使用app:iconGravity="textStart"
属性:
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.Icon"
app:icon="@drawable/..."
app:iconGravity="textStart"
../>
如果您想减少边角,请使用app:shapeAppearanceOverlay
属性:
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.Icon"
app:icon="@drawable/..."
app:iconGravity="textStart"
app:shapeAppearanceOverlay="@style/Button.Cut"
../>
通过以下方式:
<style name="Button.Cut" parent="">
<item name="cornerFamily">cut</item>
<item name="cornerSize">4dp</item>
</style>
发布于 2018-08-01 21:12:35
你可以使用wrap_content来匹配你的文本。layout_gravity而不是重力来设置按钮自身的重力(而不是其子对象)。
<android.support.design.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_my_orders"
app:iconGravity="textStart"
android:layout_gravity="center"/>
https://stackoverflow.com/questions/51633118
复制相似问题