Есть ли способ создать незаполненный TextInputEditText с TextInputLayout в 1.1.0+? - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь перейти с компонентов Material 1.0.0 на 1.1.0-alpha07, чтобы иметь возможность использовать стиль ExposedDropdown.Тем не менее, он портит все мои TextInputEditText с, поскольку они не должны быть ни выделены, ни заполнены.

Я пытался установить TextInputEditText фоновые рамки для прозрачного цвета, но в итоге они полностью заполняютсябелый вместо того, чтобы сделать их прозрачными и разоблачающими то, что скрывается за ними (это фирменный цвет с градиентом, который охватывает больше, чем поле редактирования, и поэтому я не могу просто установить его цвет на цвет фона, так как он только что выиграл »не подходит градиенту).

Итак, вопрос: Есть ли способ сохранить старомодные незаполненные EditTexts в 1.1.0+ (при этом все еще используя их внутри TextInputLayout)?

Примечание: я должен сказать, что исключение простой опции, чтобы поля редактирования не были заполнены (как это было раньше), является огромной ошибкой, так как почти полностью отключает безболезненную миграцию до 1.1.0Теперь вам нужно сначала изменить свой дизайн.

1 Ответ

0 голосов
/ 10 июля 2019

Установка фона TextInputEditText на прозрачный сработала у меня.Родитель моей темы Theme.MaterialComponents.DayNight.DarkActionBar.

Другая возможность - использовать ThemeOverlay для вашего editTextStyle:

<style name="Widget.YourTheme.TextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.FilledBox>
    <item name="materialThemeOverlay">@style/ThemeOverlay.YourTheme.TextInputEditText</item>
</style>

<style name="ThemeOverlay.YourTheme.TextInputEditText parent="ThemeOverlay.MaterialComponents.TextInputEditText.FilledBox">
    <item name="editTextStyle">@style/Widget.YourTheme.TextInputEditText item>
</style>


<style name="Widget.YourTheme.TextInputEditText parent="Widget.MaterialComponents.TextInputEditText.FilledBox">
    <item name="android:background">@android:color/transparent</item>
</style>


<com.google.android.material.textfield.TextInputLayout
   style="@style/Widget.YourTheme.TextInputLayout"
   ...
   <TextInputEditText>
      ...
   </TextInputEditText>
 </com.google.android.material.textfield.TextInputLayout>
...