当前,我正在更新我的项目以支持AndroidX。
我已将所有库重构为新的androidx
-。
仍然存在一些依赖项,例如com.wdullaer:materialdatetimepicker
,这些依赖项不会被更新,并且在用户界面中的显示方式非常难看。
如何强制这些按钮使用新的材料库? 我已启用选项
android.useAndroidX=true
android.enableJetifier=true
但不会影响这些库,如前所述。
答案 0 :(得分:0)
答案很简单:
材质组件将Button的所有实例替换为一个实例 使用其常规主题之一时的MaterialButton的外观: https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#material-components-themes MaterialButton的默认版本使用colorPrimary作为 背景颜色。因为材料组件取代了视图 用自己的实现替换器,我无能为力 通过该库修复此问题。
有两种解决方法:
使用其中一个桥接主题,这些主题不会替代View Inflater 通过添加,在应用程序主题中再次覆盖View充气工具 您的应用程序主题中的以下语句:androidx.appcompat.app.AppCompatViewInflater 然后,您将需要在您的显式使用MaterialButton 应用程序而不是Button
因此,您基本上要做的就是将行添加到“应用程序主题”中。然后,材料组件将不再被替换。瞧!
<item> name="viewInflaterClass">androidx.appcompat.app.AppCompatViewInflater</item>