很多时候android的编辑框EditText默认显示只是一条普通的横线,然后用户可以在上面编辑信息,这样的在很多时候看起来并不是那么的美观的,于是乎聪明的人们想到了通过自己定义背景属性来达到效果,把呆呆的编辑框做得漂漂亮亮的。如下图是简单的效果。
看起来还可以吧?其实这也不难,下面把实现的过程简单记录下:
首先在drawable文件夹中写一个edittext_focused.xml,定义shape属性,为了设置编辑宽选中和未选中显示不同的效果,我写了两个xml文件。<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--实心-->
<solid android:color="#FFFFFF" />
<!-- 圆角 -->
<corners android:radius="3dip" />
<!-- 边距 -->
<padding android:left="5dp" />
<!--边框-->
<stroke
android:width="1dip"
android:color="#ff1df8d2" />
<!-- 渐变 此处不用-->
<!--
<gradient
android:angle="270"
android:startColor="#00FFFF"
android:endColor="#13C7AF" />
-->
</shape>edittext_normal.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<corners android:radius="3dip"/>
<stroke
android:width="2dip"
android:color="#d6d7dc" />
</shape>
然后再写一个根据选中情况显示不同的状态的.xml文件夹,内容也很简单:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_edittext_normal"
android:state_window_focused="false" />
<item android:drawable="@drawable/bg_edittext_focused"
android:state_focused="true" />
</selector>
好简单的内容应该不用做解释了。
到了这里,我们都知道应该怎么引用了,没错,就是在backgroup属性引用即可。
注:此时光标的颜色可能有异常,可以通过
android:textCursorDrawable="@null"
即不给光标颜色时,光标会根据文字的颜色显示。--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我只是简单的记录下,到此结束!
本文介绍了如何在Android中通过自定义背景属性,将EditText编辑框变得美观,展示了一个具有圆角边框的效果,并提供了实现步骤,包括设置背景资源以及处理光标颜色问题。
983

被折叠的 条评论
为什么被折叠?



