
MaterialButton
implementation 'com.google.android.material:material:1.2.0-alpha06'MaterialButton控件了<com.google.android.material.button.MaterialButton
android:layout_width="@dimen/dp_60"
android:layout_height="wrap_content"
android:layout_gravity="right|top"
android:layout_marginTop="@dimen/dp_16"
android:layout_marginRight="@dimen/dp_16"
android:gravity="center"
android:text="@string/preview_ok"
app:backgroundTint="@color/colorBlue"
android:textColor="@color/colorWhite"
app:cornerRadius="@dimen/dp_5"/>圆角和着色以及宽高都没有奏效

我是应用主题前的MaterialButton
圆角和着色以及宽高都奏效

我是应用主题后的MaterialButton
MaterialButton控件上,就连你为他backgroundTint着的颜色都不对,那么原因究竟为何呢?MaterialButton控件设置了默认的属性,所以你的操作其实并不会生效 属性,让MaterialButton控件由我们管控 <style name="materialButton" parent="Widget.MaterialComponents.Button">
<item name="android:paddingLeft">8dp</item>
<item name="android:paddingRight">8dp</item>
<item name="android:paddingTop">4dp</item>
<item name="android:paddingBottom">4dp</item>
<item name="android:inset">0dp</item>
<item name="android:insetLeft">0dp</item>
<item name="android:insetRight">0dp</item>
<item name="android:insetBottom">0dp</item>
<item name="android:insetTop">0dp</item>
<item name="android:minWidth">0dp</item>
<item name="android:minHeight">0dp</item>
<item name="android:elevation">0dp</item>
</style>AppTheme的parent要改为Theme.MaterialComponents.Light.NoActionBar MaterialButton就完全臣服于你啦 Caused by: android.view.InflateException: Binary XML file line #42: Binary XML file line #42: Error inflating class com.google.android.material.button.MaterialButton
Caused by: android.view.InflateException: Binary XML file line #42: Error inflating class com.google.android.material.button.MaterialButtonimplementation 'com.google.android.material:material:1.0.0-beta01'这个版本的依赖可以,But需要注意,如果你考虑使用TabLayout的话这个版本是没有TabLayoutMediator的。Theme.MaterialComponents.Light.NoActionBar时,你的checkbox等等控件,都需要你像MaterialButton一样处理,不然会像MaterialButton控件一样被系统默认着色成灰色我是应用主题前的CheckBox,正常的白色

我是应用主题前的CheckBox
我是应用主题后的CheckBox,被系统着色成灰色

我是应用主题后的CheckBox
MaterialButton可以用起来了,不过要注意这些细节呦!