Измените стиль для всех TextInputLayout (в теме)

Я определил определенный стиль TextInputLayout, изменив Widget.MaterialComponents.TextInputLayout.OutlinedBox.

    <style name="TextInput" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
        <item name="boxBackgroundMode">outline</item>
        <item name="boxBackgroundColor">@color/inputBackground</item>
        <item name="boxCollapsedPaddingTop">12dp</item>
    </style>

Теперь я хочу применить этот стиль ко всем TextInputLayouts. Я могу добавить стиль ко всем textInputLayouts, но могу ли я добавить его в свою тему в качестве стиля по умолчанию? Как?

Спасибо




Ответы (1)


Просто переопределите атрибут textInputStyle в теме вашего приложения:

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

  <item name="textInputStyle">@style/TextInput</item>

  <!-- Default value is: <item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item> -->
</style>
person Gabriele Mariotti    schedule 11.09.2019