android-studio - Android studio 自定义图标 state_focused 不工作

自定义电子邮件图标.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"

相似文章

随机推荐

最新文章