У меня странная ошибка в TextInputLayout. Цвет подсказки com.google.android.material.textfield.TextInputEditText становится белым в фокусе.
вот как я это устанавливаю:
<com.google.android.material.textfield.TextInputLayout
android:id = "@+id/inputEmail"
style = "@style/EditText.OutlinedBox"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginStart = "16dp"
android:layout_marginTop = "10dp"
android:layout_marginEnd = "16dp"
app:boxStrokeColor = "@color/colorBrand">
<com.google.android.material.textfield.TextInputEditText
android:id = "@+id/editTextEmail"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_gravity = "start"
android:hint = "@string/edt_hint_email"
android:inputType = "textEmailAddress"
android:textAlignment = "viewStart" />
</com.google.android.material.textfield.TextInputLayout>
..и это стиль:
<style name = "EditText.OutlinedBox" parent = "Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name = "android:minHeight">56dp</item>
<item name = "android:textSize">18sp</item>
<item name = "android:fontFamily">@font/dubai_regular</item>
<item name = "hintEnabled">true</item>
</style>
редактировать: добавить style.xml
<?xml version = "1.0" encoding = "utf-8"?>
<resources>
<style name = "TextAppearance.AppCompat.Title" parent = "TextAppearance.AppCompat.Large">
<item name = "android:textColor">@color/colorTextPrimary</item>
<item name = "android:layout_gravity">center_vertical</item>
</style>
<style name = "EditText.OutlinedBox" parent = "Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name = "android:minHeight">56dp</item>
<item name = "android:textSize">18sp</item>
<item name = "android:fontFamily">@font/dubai_regular</item>
<item name = "hintEnabled">true</item>
</style>
<style name = "Button" parent = "Widget.MaterialComponents.Button">
<item name = "cornerRadius">10dp</item>
<item name = "backgroundTint">@color/colorAccent</item>
<item name = "android:minHeight">56dp</item>
<item name = "android:textAllCaps">false</item>
<item name = "android:fontFamily">@font/dubai_bold</item>
<item name = "android:elevation">0dp</item>
<item name = "android:stateListAnimator">@null</item>
</style>
<style name = "Button.Primary">
<item name = "backgroundTint">@color/colorAccent</item>
</style>
<style name = "DialogAnimation">
<item name = "android:windowEnterAnimation">@anim/slide_up_dialog</item>
<item name = "android:windowExitAnimation">@anim/slide_out_down</item>
</style>
<style name = "Tag" parent = "TextAppearance.AppCompat">
<item name = "android:background">@drawable/tag_navy</item>
<item name = "android:fontFamily">@font/dubai_bold</item>
<item name = "android:textSize">12sp</item>
<item name = "android:paddingStart">16dp</item>
<item name = "android:paddingEnd">16dp</item>
<item name = "android:paddingTop">6dp</item>
<item name = "android:paddingBottom">6dp</item>
<item name = "android:gravity">center</item>
<item name = "android:textColor">@color/colorWhite</item>
</style>
<style name = "Tag.Closed">
<item name = "android:background">@drawable/ic_tag_closed</item>
<item name = "android:textAllCaps">true</item>
</style>
<style name = "Tab.TextAppearance" parent = "TextAppearance.AppCompat">
<item name = "android:textSize">14sp</item>
<item name = "android:fontFamily">@font/dubai_bold</item>
</style>
</resources>
я использую com.google.android.material:material:1.1.0-alpha07
Я обновился до alpha08, но проблема не устранена. pixel xl os 8.1
Для меня это работает как в alpha07, так и в alpha08. Можете ли вы добавить свой полный style.xml
да, я добавил это. должно быть что-то, но я не могу понять, что может быть причиной
android:hint = "@string/edt_hint_email добавьте его в TextInputLayout вместо edittextПопробуйте app:hintTextAppearance = "@style/hintText" за TextInputLayout
<style name = "hintText" parent = "android:TextAppearance">
<item name = "android:textColor">your color</item>
</style>
Просто добавьте цвет текста подсказки в свой стиль EditText.OutlinedBox.
TextInputLayout указали свойство для изменения цвета подсказки и ошибки.
<item name = "android:textColorHint"> #Your Color </item>
<item name = "hintTextColor"> #Your Color </item>
Здесь у меня есть два разных цвета текста подсказки, указанные
1) android:textColorHint и 2) hintTextColor
Потому что это работает по-разному.
android:textColorHint свойство будет обрабатывать цвет текста подсказки EditText.
hintTextColor свойство будет обрабатывать цвет текста подсказки в поле контура.
Большое спасибо! Это работает, но Android Studio отображает ошибку в моем styles.xml: Cannot resolve 'hintTextColor'
'hintTextColor' не является атрибутом по умолчанию, предоставляемым стилем Android. Я предполагаю, что вы не реализовали библиотеку дизайна материалов. поэтому, пожалуйста, попробуйте реализовать библиотеку, тогда студия Android не должна показывать ошибку.
Какую версию материальной библиотеки вы используете? Я пробовал с
com.google.android.material:material:1.1.0-alpha08, и он работал отлично