Как исправить проблемы пользовательского интерфейса с темой MaterialComponents NoAction - PullRequest
0 голосов
/ 14 октября 2019

Я использую Theme.MaterialComponents.DayNight.NoActionBar в качестве темы приложения, и у меня возникают странные проблемы с цветом кнопок и с некоторыми пробелами, с которыми я сталкиваюсь.

Я прочитал, что добавление <item name="viewInflaterClass">androidx.appcompat.app.AppCompatViewInflater</item>Я должен знать, есть ли другой способ изменить его, чтобы он работал так, как раньше, так как могут быть проблемы с этим подходом.

Это не только влияет на кнопки выбора даты, но и DialogFragments

DatePickerDialog имеет затемненные кнопки в androidx.fragment.app.DialogFragment

ColorPrimary isустановить на саму кнопку. Есть ли другой способ, которым я могу переписать это поведение

Вот мой стиль

    <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

...