如何解决与MaterialComponents NoAction主题相关的UI问题

时间:2019-10-14 11:36:03

标签: android material-design android-theme material-components-android

我使用Theme.MaterialComponents.DayNight.NoActionBar作为应用程序主题,在按钮颜色方面遇到了一些奇怪的问题,而且我遇到了一些间距问题。

我已经读到添加<item name="viewInflaterClass">androidx.appcompat.app.AppCompatViewInflater</item>应该可以解决它,但是确实可以,但是我想知道是否还有其他方法可以使它像以前那样工作,因为这种方法可能会出现问题。

不仅影响日期选择器按钮,而且还影响DialogFragments

DatePickerDialog has blacked out buttons in androidx.fragment.app.DialogFragment

ColorPrimary设置为按钮本身。还有其他方法可以覆盖此行为

这是我的风格

    <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar.FullScreen">
        <item name="colorPrimary">@color/colorPrimary</item> // Blue
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlNormal">@color/colorControlNormal</item>
        <item name="colorControlActivated">@color/colorControlActivated</item>
        <item name="colorSwitchThumbNormal">@color/colorSwitchThumbNormal</item>
        <item name="android:textColorPrimary">@android:color/primary_text_light</item>
        <item name="android:textColorSecondary">@android:color/secondary_text_light</item>
        <item name="android:textColorPrimaryInverse">@android:color/primary_text_dark</item>
        <item name="android:windowBackground">@android:color/background_light</item>

        <item name="dialogTheme">@style/DialogStyle</item>
        <item name="alertDialogTheme">@style/AlertDialogStyle</item>

        <item name="md_positive_color">@color/dialog_positive_text</item>
        <item name="md_neutral_color">@color/dialog_neutral_text</item>
        <item name="md_negative_color">@color/dialog_negative_text</item>
//Adding the bellow line fixes it
        <item name="viewInflaterClass">androidx.appcompat.app.AppCompatViewInflater</item>
    </style>

    <style name="Theme.MaterialComponents.DayNight.NoActionBar.FullScreen" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

这是它的外观, enter image description here

但是这个主题看起来像这样

enter image description here

0 个答案:

没有答案