更新到材质1.2.0后,材质按钮上的角半径属性丢失

问题描述

这是我的MaterialButton代码

<com.google.android.material.button.MaterialButton
    android:id="@+id/next_button"
    android:layout_width="224dp"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentBottom="true"
    android:layout_marginStart="68dp"
    android:layout_marginTop="510dp"
    android:layout_marginEnd="68dp"
    android:layout_marginBottom="68dp"
    android:background="@color/colorPrimary"
    android:minHeight="60dp"
    android:text="@string/onboarding_next_button"
    android:textColor="@android:color/white"
    app:cornerRadius="25dp" />

将材料库从1.1.0更新到1.2.0后,app:CornerRadius被忽略。我尝试按照“材质”文档使用形状主题,但控件仍然完全方形

解决方法

使用app:backgroundTint代替android:background

<com.google.android.material.button.MaterialButton
   app:backgroundTint="@color/colorPrimary"
   .../>

1.2.0开始,可以在android:background中使用MaterialButton使用自定义android:background,未使用默认的MaterialShapeDrawable ,并且未设置某些功能(例如笔触,形状外观,拐角半径,波纹)(因为它们与MaterialShapeDrawable相关),则必须为他们提供自定义背景

由于您使用的是简单的颜色作为背景,因此请使用app:backgroundTint

enter image description here