android - 在状态 "selected"上更改 EditText 的布局

标签 android android-layout android-edittext drawable android-drawable

我正在尝试获取一个 EditText,当用户单击它以键入内容时更改它的颜色和布局,我使用自定义可绘制对象来执行此操作,但属性 android:state_enabled="true" android:state_focused="true">根本不起作用,这意味着它们不会被调用。

EditText :

 <EditText android:id="@+id/field_user_info" android:hint="Nome e Cognome"
        android:layout_marginTop="8dp" android:layout_marginBottom="8dp"
        android:padding="8dp" android:maxLines="1"
        android:background="@drawable/custom_account_edittext"
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:textColorHint="@color/textHint"/>

custom_account_edittext可绘制:

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape android:shape="rectangle">
            <!--<solid android:background="?android:attr/selectableItemBackground"/>-->
            <!--android:color="#ffffff" -->
            <solid android:color="@color/account_grey_300" />
            <stroke android:width="0.8dip"
                android:color="@color/account_grey_400"/>
            <corners android:radius="2dip" /> <!--android:bottomRightRadius="7dp"--><!--android:bottomLeftRadius="7dp"--><!--android:topLeftRadius="7dp"--><!--android:topRightRadius="7dp"/>-->
        </shape>
    </item>
    <item android:state_enabled="true"  android:state_focused="true">
        <shape android:shape="rectangle">
            <!--<solid android:background="?android:attr/selectableItemBackground"/>-->
            <!--android:color="#ffffff" -->
            <solid android:color="@color/white" />
            <stroke android:width="1dip"
                android:color="@color/cardview_blu_color600"/>
            <corners android:radius="2dip" />
        </shape>
    </item>
</selector>

我的问题是我总是想像默认布局(第一项)。 为什么项目 <item android:state_enabled="true" android:state_focused="true">完全不激活?

如何自定义我的 TextView州?

最佳答案

试试这个

<item android:state_enabled="true" android:state_focused="true">

编辑:

试试这个并检查当点击 edittext 时背景颜色是否改变

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item
        android:state_pressed="true"
        android:drawable="#f07c01"
        /> <!-- pressed -->
    <item
    android:state_enabled="true" android:state_focused="true"
        android:drawable="#c099cc00"
        /> <!-- focused -->
    <item
        android:drawable="#0d91a8"
        /> <!-- default -->
</selector>

关于android - 在状态 "selected"上更改 EditText 的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30827904/

相关文章:

android - 在哪里可以找到 Android 选项卡图标

android - 以编程方式调用 adView 时出错?

java - 底部导航在导航项上选择监听器不起作用

java - Android简单程序-SeekBar未创建

java - 如何禁用 EditText 并保持背景颜色为白色?

java - EditText 中提示的文本颜色不起作用

android - EditText 的验证不起作用

java - 尝试使用 AsyncTask 读取 RSS 时更新 UI,但不起作用

android - ActionBar的tabs和Fragment如何实现向上导航?

android - 如何从相等的 View 构建 TableLayout 5X5