Android EditText 改變邊框顏色


第一步:為了更好的比較,准備兩個一模一樣的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了,效果圖如下:

第二個輸入框邊框變為深色,是不是這樣更友好點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM