Android EditText自定義樣式的方法
本文實(shí)例講述了Android EditText自定義樣式的方法。分享給大家供大家參考,具體如下:
1.去掉邊框
EditText的background屬性設(shè)置為@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 改變邊框顏色
第一步:為了更好的比較,準(zhǔn)備兩個(gè)一模一樣的EditText(當(dāng)Activity啟動(dòng)時(shí),焦點(diǎn)會(huì)在第一個(gè)EditText上,如果你不希望這樣只需要寫(xiě)一個(gè)高度和寬帶為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="請(qǐng)輸入..."
/>
接下來(lái)建立三個(gè)xml文件,分別為輸入框未獲得焦點(diǎn)時(shí)的背景,輸入框獲得焦點(diǎn)時(shí)的背景,selector背景選擇器(這里能獲得輸入框什么時(shí)候獲得和失去焦點(diǎn)),代碼如下:
bg_edittext_normal.xml(未獲得焦點(diǎn)時(shí))
<?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(獲得焦點(diǎn)時(shí))
<?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選擇器,這方面資料網(wǎng)上很多)
<?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了,效果圖如下:

第二個(gè)輸入框邊框變?yōu)樯钌?,是不是這樣更友好點(diǎn)。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android通信方式總結(jié)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android控件系列之RadioButton與RadioGroup使用方法
本文介紹了Android中如何使用RadioGroup和RadioButton,對(duì)比了RadioButton和CheckBox的區(qū)別,并實(shí)現(xiàn)了自定義的RadioGroup中被選中RadioButton的變更監(jiān)聽(tīng)事件2012-11-11
JetPack Compose底部導(dǎo)航欄的實(shí)現(xiàn)方法詳解
開(kāi)發(fā)一個(gè)新項(xiàng)目,底部導(dǎo)航欄一般是首頁(yè)的標(biāo)配,在以前的xml布局中,我們可以很輕松的是用谷歌提供的BottomNavigationView或者自定義來(lái)實(shí)現(xiàn)底部導(dǎo)航的功能,在Compose中也有也提供了一個(gè)類(lèi)似的控件androidx.compose.material.BottomNavigation2022-09-09
使用科大訊飛語(yǔ)音SDK實(shí)現(xiàn)文字在線(xiàn)合成語(yǔ)音
這篇文章主要介紹了使用科大訊飛語(yǔ)音SDK實(shí)現(xiàn)文字在線(xiàn)合成語(yǔ)音 的相關(guān)資料,需要的朋友可以參考下2015-12-12
Android Camera2采集攝像頭原始數(shù)據(jù)
這篇文章主要介紹了Android Camera2采集攝像頭原始數(shù)據(jù)并進(jìn)行手工預(yù)覽的功能實(shí)現(xiàn)原理以及代碼分析,需要的朋友學(xué)習(xí)下吧。2018-02-02
Android Studio中快捷鍵實(shí)現(xiàn)try catch等功能包含代碼塊的實(shí)現(xiàn)方法
這篇文章主要介紹了 Android Studio中快捷鍵實(shí)現(xiàn)try catch等功能包含代碼塊的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09
Listview加載的性能優(yōu)化是如何實(shí)現(xiàn)的
在android開(kāi)發(fā)中Listview是一個(gè)很重要的組件,它以列表的形式根據(jù)數(shù)據(jù)的長(zhǎng)自適應(yīng)展示具體內(nèi)容,用戶(hù)可以自由的定義listview每一列的布局,接下來(lái)通過(guò)本文給大家介紹Listview加載的性能優(yōu)化是如何實(shí)現(xiàn)的,對(duì)listview性能優(yōu)化相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01
Android中Item實(shí)現(xiàn)點(diǎn)擊水波紋效果
這篇文章主要給大家介紹了關(guān)于Android中Item實(shí)現(xiàn)點(diǎn)擊水波紋效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11

