如何更改编辑文本的聚焦状态的背景图像

时间:2012-07-12 23:38:12

标签: android colors themes android-edittext border

我知道我的问题标题听起来像是一个已经回答过的问题。 但是,我的问题有些不同,我找不到解决方案

在我的应用程序中,我有一个带有两个EditText的登录屏幕。我使用了Theme.Holo.Light的修改版本。

EditTexts看起来像这样:

EditText of Theme.Holo.Light

正如您所看到的,文本下方有一个不同颜色的边框,具体取决于EditText的状态。

所以这是我的问题:谁能告诉我如何改变这些边界的颜色?

我希望有人能帮助我!提前谢谢!

编辑:

不幸的是,我遇到了另一个问题:

我能够使用dtmilano解决方案更改背景图像。 但是,添加StateListDrawable删除了EditView的填充。如果我添加文本,则光标位于最左侧位置,而不是之前所描绘的边框内。 到目前为止,我无法引入这种填充,例如用android:paddingLeft。

任何人都可以告诉我使用此选择器覆盖哪个属性

    <?xml version="1.0" encoding="utf-8"?>
    <selector 
        xmlns:android="http://schemas.android.com/apk/res/android"  
        >
        <item 
            android:state_pressed="true"
            android:drawable="@drawable/edittext_pressed" 
            /> <!-- pressed -->    
        <item 
            android:state_focused="true"
            android:drawable="@drawable/edittext_focused"
            /> <!-- focused -->    
        <item 
            android:drawable="@drawable/edittext_default" 
            /> <!-- default -->
    </selector>

和这样的EditText:

    <EditText
        android:id="@+id/loginEmail"
        android:background="@drawable/edittext_modified_states"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

1 个答案:

答案 0 :(得分:1)

您应该在主题中使用StateListDrawable作为EditText的背景,以便处理不同的状态。