我想知道如何在聚焦时更改edittext的边框颜色,此时它看起来像这样:
我已经尝试在SDK中查看源图片,但我对它没有任何意义,我也尝试过使用xml,但无法仅更改边框颜色。
如果我找到了可以在photoshop中编辑的源图片来更改颜色,有关如何执行此操作或源图片位于何处的提示? :)
答案 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);