Я пытаюсь стилизовать TextInputLayout с OutlinedBox, обертывающим TextInputEditText. Я уже смог установить цвет рамки и атрибуты цвета текста подсказки в зависимости от состояния, но я не могу применить белый фон к области внутри поля. Многие вопросы связаны с цветом текста подсказки, и лишь некоторые из них сообщают о таком поведении без надлежащего решения. Этот вопрос сообщает об той же проблеме, но, как указано в ответе, похоже, нет решения.
В любом случае, как вы можете видеть здесь , применив фон для внутреннего TextInputEditText, подсказка / метка фактически действует, как задумано, но TextInputLayout теряет закругленную границу. Значит, должен быть способ применить к подсказке «прозрачный» фон, верно?
Макет (.... это просто атрибуты идентификатора и ограничения)
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
....
<com.google.android.material.textfield.TextInputLayout
style="@style/LoginTextInputLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
... >
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="18sp"/>
</com.google.android.material.textfield.TextInputLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Стиль (TextInputLayout стилизация выполняется здесь только сейчас)
<style name="LoginTextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="android:textColorHint">@color/colorAccent</item>
<item name="hintTextColor">@color/colorAccent</item>
<item name="boxStrokeColor">@color/text_input_layout_login_selector</item>
<item name="boxStrokeWidthFocused">1dp</item>
</style>
Есть ли способ сохранить «прозрачный фон» для плавающей метки подсказки, контура для рамки и фона для внутренней области?