1

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

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

EditText 看起来像这样:

Theme.Holo.Light 的 EditText

如您所见,文本下方有不同颜色的边框,具体取决于 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" />
4

1 回答 1

1

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

于 2012-07-12T23:42:50.087 回答