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.MaterialButton
implementation 'com.google.android.material:material:1.0.0-beta01'
这个版本的依赖可以,But需要注意,如果你考虑使用TabLayout
的话这个版本是没有TabLayoutMediator
的。Theme.MaterialComponents.Light.NoActionBar
时,你的checkbox等等控件,都需要你像MaterialButton
一样处理,不然会像MaterialButton
控件一样被系统默认着色成灰色我是应用主题前的CheckBox,正常的白色
我是应用主题前的CheckBox
我是应用主题后的CheckBox,被系统着色成灰色
我是应用主题后的CheckBox
MaterialButton
可以用起来了,不过要注意这些细节呦!