自定义电子邮件图标.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:drawable="@drawable/ic_email_focused"/>
<item android:state_focused="false"
android:drawable="@drawable/ic_email"/>
</selector>
activity_main.xml
<EditText
android:id="@+id/emailText"
android:layout_width="301dp"
android:layout_height="48dp"
android:layout_marginTop="100dp"
android:ems="10"
android:background="@drawable/custom_input"
android:drawableStart="@drawable/custom_email_icon"
android:drawablePadding="12dp"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:hint="Email Address"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
单击文本时图标颜色更改不起作用。密码行也有同样的问题。
回答1
除了聚焦状态,您还可以为按下和选定状态添加一个选择器,如下所示
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false"
android:state_enabled="true"
android:drawable="@drawable/ic_email" />
<item android:state_window_focused="false"
android:state_enabled="false"
android:drawable="@drawable/ic_email" />
<item android:state_pressed="true"
android:drawable="@drawable/ic_email_focused" />
<item android:state_enabled="true"
android:state_focused="true"
android:drawable="@drawable/ic_email_focused" />
<item android:state_enabled="true"
android:drawable="@drawable/ic_email" />
<item android:state_focused="true"
android:drawable="@drawable/ic_email_focused" />
<item android:drawable="@drawable/ic_email" />
</selector>
回答2
所有的问题都是这个代码行,我只是删除它并修复了;我不知道为什么当我添加矢量时它会自动出现。
android:tint="?attr/colorControlNormal"