2012-07-12 31 views
1

我知道我的问题的标题听起来像一个已经被回答的问题。 但是,我的问题是不同的,我找不到解决方案如何更改背景图像的edittext集中状态

在我的应用程序中,我有一个登录屏幕与两个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

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

+0

非常感谢,这没有把戏! – didhavn 2012-07-13 00:03:54

+0

不幸的是,我遇到了其他问题并编辑了我的问题。你能帮我吗,dtmilano? – didhavn 2012-07-13 00:32:55

+0

使用[9个补丁](http://developer.android.com/reference/android/graphics/NinePatch.html),以便您可以指定内容的去向 – 2012-07-13 03:09:44