在我们进行Android应用界面设计和时候,为了界面风格的统一,我们需要对一些控件进行自定义。比如我们的应用采用的蓝色风格,但是 android的EditText控制获得焦点后显示的却是黄色的边框背景。那么如何让EditText在获得焦点的时候显示的是我们自定义的蓝色的背景 呢?
首先准备两张图片,一张是EditText获得焦点后的边框背景,一张是没有获得焦点时的背景,注意制作成9.png样式的图片,然后在drawable里添加一个selector_edittext_bg.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/edit_pressed" android:state_focused="true"/>
<item android:drawable="@drawable/edit_normal"/> </selector>
然后在values文件夹下新建一个style.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources> <style name="my_edittext_style" parent="@android:style/Widget.EditText">
<item name="android:background">@drawable/selector_edittext_bg</item>
</style> </resources>
最后在EditTex上使用我们新建的样式就可以了:
<EditText
android:id="@+id/v_value"
style="@style/my_edittext_style"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_weight=""
android:hint="@string/edit_key"
android:imeOptions="actionDone"
android:inputType="" />