我有此按钮,我想将图标居中放置,但它也应位于文本上方。
问题是,有一个选项可以设置图标的重力,即app:iconGravity
,但是它只有两个选项,而没有一个是居中的。
如果没有文本,请将选项设置为textStart
可以将图标移到中心,但是我希望图标位于文本的中心并且也位于文本上方。
这是当前代码:
<com.google.android.material.button.MaterialButton
android:id="@+id/payButton"
style="@style/Widget.MaterialComponents.Button.Icon"
android:layout_width="0dp"
android:layout_height="96dp"
android:layout_weight="1"
android:fontFamily="@font/montserrat_regular"
android:text="@string/pay"
android:textColor="?attr/colorPrimary"
app:backgroundTint="@android:color/white"
app:icon="@drawable/ic_pay_black_24dp"
app:iconGravity="textStart"
app:iconSize="32dp"
app:iconTint="@color/colorPrimary" />
答案 0 :(得分:2)
似乎他们认为这不是一个好主意/设计,但他们的设计师同意在将来的版本中添加功能。
以下是有关他们的回购中有关此主题的请求/讨论: https://github.com/material-components/material-components-android/issues/671
现在,我发现的唯一可能性是:
我刚刚提交了PR以添加此功能,因为他们似乎同意它应支持top
重力。
答案 1 :(得分:-1)
MaterialButton
视图不允许执行您想要的操作。您将使用自己的视图手动进行操作。