聚焦edittext时更改边框颜色

时间:2014-05-01 22:04:58

标签: android android-layout android-edittext

我想知道如何在聚焦时更改edittext的边框颜色,此时它看起来像这样:

enter image description here

我已经尝试在SDK中查看源图片,但我对它没有任何意义,我也尝试过使用xml,但无法仅更改边框颜色。

如果我找到了可以在photoshop中编辑的源图片来更改颜色,有关如何执行此操作或源图片位于何处的提示? :)

1 个答案:

答案 0 :(得分:24)

您可以为EditText

创建自定义形状

1:STATE_ENABLED用于检查ET是否已启用/禁用。

2:STATE_PRESSED用于检查按下ET的时间(它会改变印刷机上的颜色但不会保持这种状态。)

3:只要ET聚焦,STATE_FOCUSED就会改变ET边界颜色(这符合要求)。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true"
            android:state_focused="true">
        <shape android:padding="10dp" android:shape="rectangle">
            <solid android:color="#FFFFFF" />
            <stroke android:width="2dp" android:color="#ffa0a496" />
            <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" />
        </shape>
    </item>
    <item android:state_enabled="true">
        <shape android:padding="10dp"
            android:shape="rectangle">
            <solid android:color="#FFFFFF" />
            <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" />
        </shape>
    </item>
</selector>

并设置背景:

editText.setBackgroundResource(R.drawable.yourFile);