Сбой TextInputLayout при настройке пользовательской темы для приложения

Следующий код отлично работал с полем ввода контура.

<com.google.android.material.textfield.TextInputLayout
        android:id = "@+id/notes"
        style = "@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:hint = "@string/text_notes"
        app:boxBackgroundColor = "@color/colorWhite">

        <com.google.android.material.textfield.TextInputEditText
            android:id = "@+id/et_notes"
            android:fontFamily = "sans-serif-black"
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content" />

    </com.google.android.material.textfield.TextInputLayout>

У меня есть собственный шрифт для установки во всем приложении. После настройки по следующему коду происходит сбой. ниже стиль, используемый для темы приложения.

<style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name = "colorPrimary">@color/colorPrimary</item>
    <item name = "colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name = "colorAccent">@color/colorAccent</item>
    <item name = "android:textViewStyle">@style/SansSerifTextViewStyle</item>// Custom font style
    <item name = "buttonStyle">@style/SanSerifButtonStyle</item> // Custom font style
</style>

Когда я удаляю строку ниже, приложение не падает. Но обведенный пользовательский интерфейс коробки не идет. Пробовал устанавливать через код Java, не работает.

style = "@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
6
0
3 133
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Материальные компоненты, такие как com.google.android.material.textfield.TextInputLayout (обратите внимание на .material. часть имени пакета), требуют, чтобы вы использовали тему материала.

На этой странице перечислены подходящие темы для использования:

https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#4-change-your-app-theme-to-inherit-from-a-material- компоненты-тема

Вам придется изменить тему вашего приложения с этого

<style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar">

например это

<style name = "AppTheme" parent = "Theme.MaterialComponents.Light.DarkActionBar">

Спасибо! в зависимости от активности я изменил тему и пользовательский шрифт, который также работает нормально.

Abish R 20.05.2019 20:23

После настройки этого стиля заголовок панели инструментов приложения не отображается. Я попытался изменить цвет с помощью пользовательского стиля, который не работает. Есть идеи...

Abish R 20.05.2019 20:34

Другие вопросы по теме