- 导入依赖,就可以使用了:
implementation 'com.google.android.material:material:1.3.0'
- 在1.2版本以前,MaterialButton只能通过app:backgroundTint属性设置背景色,该属性接收color state list。不能通过android:background设置自定义drawable。1.2版本后,官方已修复此问题。如果未设置自定义背景,则 MaterialShapeDrawable 仍将用作默认背景。也就是说,如果按钮背景是纯色,可以通过app:backgroundTint指定;如果按钮背景是渐变色,则需要自己定义drawable,然后通过android:background设置。注意:如果要使用android:background设置背景,则需要将backgroundTint设置为@empty,否则background不会生效。既然已经自定义drawable,就没必要使用MaterialButton,直接用普通的Button甚至用TextView就好了。
- Theme主题,可以在不同作用域下配置。
- MaterialButton的背景,可以支持设置纯色和其它Drawable两种方式。纯色背景色通过backgroundTint设置;而如果是渐变等Drawable,那就需要自己创建Drawable,最重要的是,要设置backgroundTint="@null",同时,由于设置了background,会导致圆角失效。
- MaterialButton的上下边,默认有6dp边距,这是MD的设计规范,可以通过insetxxx来进行修改,代码如下所示。
android:insetTop="0dp"
android:insetBottom="0dp"
- 自 API 21 (Android L)开始,Android SDK 引入 tint 着色器,MaterialButton的属性:backgroundTint 和 backgroundTintMode,仅可用于 API 21 及更高版本。