android EditText自訂樣式

來源:互聯網
上載者:User

標籤:

1.去掉邊框

 

EditText的background屬性設定為@null就搞定了:android:background="@null"
style屬性倒是可加可不加

附原文:
@SlumberMachine, that‘s a great observation! But, it seems that there is more to making a TextView editable than just setting android:editable="true". It has to do with the "input method" - what ever that is - and that is where the real difference between TextView and EditText lies. TextView was designed with an EditText in mind, that‘s for sure. One would have to look at the EditText source code and probably EditText style to see what‘s really going on there. Documentation is simply not enough.

I have asked the same question back at android-developers group, and got a satisfactory answer. This is what you have to do:

XML:
<EditText android:id="@+id/title" android:layout_width="fill_parent"
     style="?android:attr/textViewStyle"
     android:background="@null" android:textColor="@null"/>


Instead of style="?android:attr/textViewStyle" you can also write style="@android:style/Widget.TextView", don‘t ask me why and what it means.

2.Android EditText 改變邊框顏色

 

第一步:為了更好的比較,準備兩個一模一樣的EditText(當Activity啟動時,焦點會在第一個EditText上,如果你不希望這樣只需要寫一個高度和寬頻為0的EditText即可避免,這裡就不這麼做了),代碼如下:

 

[html] view plaincopy  
  1. <EditText   
  2.     android:layout_width="fill_parent"  
  3.         android:layout_height="36dip"  
  4.         android:background="@drawable/bg_edittext"  
  5.         android:padding="5dip"  
  6.     android:layout_margin="36dip"  
  7.     android:textColorHint="#AAAAAA"  
  8.     android:textSize="15dip"  
  9.     android:singleLine="true"  
  10.     android:hint="請輸入..."  
  11. />  


接下來建立三個xml檔案,分別為輸入框未獲得焦點時的背景,輸入框獲得焦點時的背景,selector背景選取器(這裡能獲得輸入框什麼時候獲得和失去焦點),代碼如下:

bg_edittext_normal.xml(未獲得焦點時)

[html] view plaincopy  
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">   
  3.     <solid android:color="#FFFFFF" />   
  4.     <corners android:radius="3dip"/>  
  5.     <stroke    
  6.         android:width="1dip"    
  7.         android:color="#BDC7D8" />   
  8. </shape>  

bg_edittext_focused.xml(獲得焦點時)

[html] view plaincopy  
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">   
  3.     <solid android:color="#FFFFFF" />   
  4.     <corners android:radius="3dip"/>  
  5.     <stroke    
  6.         android:width="1dip"    
  7.         android:color="#728ea3" />   
  8. </shape>  

bg_edittext.xml(selector選取器,這方面資料網上很多)

[html] view plaincopy  
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
  3.         <item android:state_window_focused="false" android:drawable="@drawable/contact_edit_edittext_normal" />  
  4.        <item android:state_focused="true" android:drawable="@drawable/contact_edit_edittext_focused" />  
  5. </selector>  


這樣就OK了,如下:

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

android EditText自訂樣式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.