В этой статье блога мы рассмотрим различные способы изменения цвета компонента TextInputLayout. TextInputLayout — популярный компонент, используемый при разработке приложений для Android, предоставляющий плавающую метку и место для пользовательского ввода. Мы предоставим примеры кода для каждого метода, чтобы помочь вам легко реализовать изменения цвета в вашем приложении. Давайте погрузимся!
Методы изменения цвета TextInputLayout:
Метод 1: использование атрибутов XML
Вы можете изменить цвет TextInputLayout, изменив атрибуты XML. Добавьте следующие атрибуты в TextInputLayout в файле макета XML:
<com.google.android.material.textfield.TextInputLayout
...
app:boxBackgroundColor="@color/colorPrimary"
app:boxStrokeColor="@color/colorAccent"
app:hintTextColor="@color/colorHint"
... >
...
</com.google.android.material.textfield.TextInputLayout>
Метод 2. Программное изменение цветов.
Вы также можете изменить цвета TextInputLayout программно, используя setBoxBackgroundColor()
, setBoxStrokeColor()
и setDefaultHintTextColor()
методы:
TextInputLayout textInputLayout = findViewById(R.id.textInputLayout);
textInputLayout.setBoxBackgroundColor(getResources().getColor(R.color.colorPrimary));
textInputLayout.setBoxStrokeColor(getResources().getColor(R.color.colorAccent));
textInputLayout.setDefaultHintTextColor(ColorStateList.valueOf(getResources().getColor(R.color.colorHint)));
Метод 3. Использование стилей
Создайте собственный стиль в файле Styles.xml и примените его к TextInputLayout:
<style name="CustomTextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name="boxBackgroundColor">@color/colorPrimary</item>
<item name="boxStrokeColor">@color/colorAccent</item>
<item name="hintTextColor">@color/colorHint</item>
</style>
Примените стиль к TextInputLayout в файле макета XML:
<com.google.android.material.textfield.TextInputLayout
...
>
...
</com.google.android.material.textfield.TextInputLayout>
Метод 4: использование тем
Вы можете изменить цвета TextInputLayout, переопределив атрибуты темы в теме вашего приложения. Добавьте следующие атрибуты в свою тему в файлеstyles.xml:
<item name="textInputStyle">@style/CustomTextInputLayout</item>
Определите собственный стиль, как указано в методе 3.
Изменить цвет TextInputLayout в Android можно разными способами. Вы можете изменять атрибуты XML, программно изменять цвета, использовать стили или переопределять атрибуты темы. Выберите метод, который соответствует вашим требованиям, и реализуйте его в своем приложении, чтобы настроить внешний вид TextInputLayout.