- 導入依賴,就可以使用了:
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 及更高版本。