backgroundTint 属性为整个 TextInputEditText 着色
Posted
技术标签:
【中文标题】backgroundTint 属性为整个 TextInputEditText 着色【英文标题】:backgroundTint property colores the whole TextInputEditText 【发布时间】:2022-01-08 09:04:18 【问题描述】:我想为 editText 下划线设置颜色。我怎样才能实现它?正如我在标题中提到的,我尝试设置 backgroundTint 属性,但不是着色下划线,而是整个 TextInputEditText 被着色
xml
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/passwordInputLayout"
android:layout_
android:layout_
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:hint="@string/password_hint"
android:textColorHint="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/usernameInputLayout"
app:passwordToggleEnabled="true"
app:passwordToggleTint="#8E8E93">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/passwordInputEditText"
android:layout_
android:layout_
android:inputType="textPassword"
android:text="@=authViewModel._password"
android:background="#00000000"
android:textColor="@color/white"/>
</com.google.android.material.textfield.TextInputLayout>
【问题讨论】:
【参考方案1】:不要设置backgroundTint
属性,而是尝试以下代码(这将使您能够设置TextInputEditText
的下划线颜色,然后您可以根据自己的喜好对其进行自定义:
activity_main.xml:
<com.google.android.material.textfield.TextInputLayout
style="@style/textInputLayout.BlueLabel"
android:layout_
android:layout_
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:hint="Username"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText
style="@style/textInputLayout.BlueLabel"
android:layout_
android:layout_
android:layout_marginTop="16dp" />
</com.google.android.material.textfield.TextInputLayout>
styles.xml:
<resources>
<style name="textInputLayout.BlueLabel"
parent="Widget.Design.TextInputLayout">
<item name="hintTextAppearance">@style/AppTheme.TextFloatLabelAppearance</item>
</style>
<style name="AppTheme.TextFloatLabelAppearance"
parent="TextAppearance.Design.Hint">
<item name="hintTextColor">@color/teal_200</item> <!--Change underline color here-->
</style>
</resources>
如您现在所见,我们已将下划线颜色更改为蓝绿色:
唯一的警告是TextInputLayout
的外观并不是真正的“类似材料”。如果您遇到任何错误或问题,请在 cmets 中告诉我。
【讨论】:
以上是关于backgroundTint 属性为整个 TextInputEditText 着色的主要内容,如果未能解决你的问题,请参考以下文章
android:backgroundTint 不工作 - Android
AppCompatButton backgroundTint API < 21
错误:(36, 33) 尺寸类型不允许(在“backgroundTint”处,值为“22dp”)
Android改变图片背景颜色tint(着色)或 backgroundTint
如果 EditText 字段中有文本,如何更改 backgroundtint 颜色?
XML 中的 backgroundTint 不会改变 BottomActionBar 的颜色,即使使用 min API >= 21