EditText在焦点后更改背景颜色

时间:2017-11-13 13:43:02

标签: android xml android-edittext

我在EditTextCardView在获得焦点后更改其背景颜色,就像在其中书写文字一样。我希望它像第二张照片。

关注前:

Before focus

关注后:

After focus

代码:

<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:clickable="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:foreground="?android:attr/selectableItemBackground">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:drawableLeft="@drawable/ic_search"
        android:drawablePadding="16dp"
        android:drawableStart="@drawable/ic_search"
        android:hint="@string/search_library"
        android:imeOptions="actionSearch"
        android:inputType="textCapSentences"
        android:padding="16dp"
        android:textSize="16sp"/>
</android.support.v7.widget.CardView>

2 个答案:

答案 0 :(得分:0)

使用selector在编辑文字对焦时改变背景。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@drawable/edittext_focused" />
    <item android:state_focused="false" android:drawable="@drawable/edittext_notfocused" />
</selector>

然后在edittext_focused.xml文件中添加您的偏好设置。

答案 1 :(得分:0)

请删除前景attr。