更新库以支持AndroidX

时间:2018-10-14 13:49:59

标签: android-support-library androidx

当前,我正在更新我的项目以支持AndroidX。 我已将所有库重构为新的androidx-。 仍然存在一些依赖项,例如com.wdullaer:materialdatetimepicker,这些依赖项不会被更新,并且在用户界面中的显示方式非常难看。

enter image description here

如何强制这些按钮使用新的材料库? 我已启用选项

android.useAndroidX=true
android.enableJetifier=true

但不会影响这些库,如前所述。

1 个答案:

答案 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>

引用https://github.com/wdullaer/MaterialDateTimePicker