TextInputLayout 轮廓提示颜色
TextInputLayout outline hint color
我在 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>
尝试 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
属性 将处理轮廓框提示的文本颜色。
我在 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>
尝试 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
属性 将处理轮廓框提示的文本颜色。