如何在MaterialButton的文本右侧添加可绘制对象?

时间:2019-07-10 12:26:02

标签: android android-layout material-design

我正在这样做

<com.google.android.material.button.MaterialButton
        android:id="@+id/btnProceed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Proceed to enter Gender"
        style="@style/bottomBtnStyle"
        app:icon="@drawable/ic_right_arrow"
        app:iconGravity="textStart"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"/>

但是图标正显示在文本的左侧,图标重力对图标位置没有影响。 在正常的Button中,我们曾经使用drawableRight实现相同的功能,但是这里找不到方法。

3 个答案:

答案 0 :(得分:0)

使用1.1.0-alpha06

implementation 'com.google.android.material:material:1.1.0-alpha06'
  

在MaterialButton(c42eb1e)中添加对末尾iconGravity的支持

示例代码

<com.google.android.material.button.MaterialButton
    android:id="@+id/btnProceed"
    android:layout_width="@dimen/_250sdp"
    android:layout_height="wrap_content"
    android:text="Proceed to enter Gender"
    app:icon="@drawable/ic_search_black"
    app:iconGravity="end"
    app:backgroundTint="@color/colorBlue"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"/>

输出

enter image description here

答案 1 :(得分:0)

app:icon="@drawable/ic_right_arrow" 
如果需要在左侧显示,则

很好。为了显示正确,您还需要添加app:iconGravity="end"

并确保按钮使用正确的样式。这意味着bottomBtnStyle的父级必须为Widget.MaterialComponents.Button

答案 2 :(得分:0)

使用大于或alpha06的版本,当前的最新版本是

implementation 'com.google.android.material:material:1.1.0-alpha07'

然后设置重力

app:iconGravity="end"