如果EditText
获取或失去焦点,我需要更改TextInputLayout
中密码切换的颜色。我已经尝试了以下方法,但没有成功。颜色始终等于灰色(来自未获取焦点状态)。
布局
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleEnabled="true"
app:passwordToggleDrawable="@drawable/password_toggle_selector"
app:passwordToggleTint="@color/color_password_toggle">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:inputType="textPassword" />
</android.support.design.widget.TextInputLayout>
颜色密码切换
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/color_green" android:state_checked="true" />
<item android:color="@color/color_grey" android:state_focused="true" />
<item android:color="@color/color_light_grey" android:state_focused="false" />
密码切换选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_eye" android:state_checked="true />
<item android:drawable="@drawable/ic_eye_off" />