第一步:為了更好的比較,准備兩個一模一樣的EditText(當Activity啟動時,焦點會在第一個EditText上,如果你不希望這樣只需要寫一個高度和寬帶為0的EditText即可避免,這里就不這么做了),代碼如下:
<EditText android:layout_width="fill_parent" android:layout_height="36dip" android:background="@drawable/bg_edittext" android:padding="5dip" android:layout_margin="36dip" android:textColorHint="#AAAAAA" android:textSize="15dip" android:singleLine="true" android:hint="請輸入..." />
接下來建立三個xml文件,分別為輸入框未獲得焦點時的背景,輸入框獲得焦點時的背景,selector背景選擇器(這里能獲得輸入框什么時候獲得和失去焦點),代碼如下:
bg_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="1dip" android:color="#BDC7D8" /> </shape>
bg_edittext_focused.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="1dip" android:color="#728ea3" /> </shape>
bg_edittext.xml(selector選擇器)
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:drawable="@drawable/contact_edit_edittext_normal" /> <item android:state_focused="true" android:drawable="@drawable/contact_edit_edittext_focused" /> </selector>
這樣就OK了,效果圖如下: