Android使用EditText小技巧匯總
1、隱藏android中EditText自帶的的下劃線
android:background="@null" 或android:background="@/drawable/bg_edittext_norma.xml"
bg_edittext_norma.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="10dip"/> <stroke android:width="1dip" android:color="#BDC7D8" /> </shape>
<EditText style="?android:attr/textViewStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@null" android:hint="輸入用戶名" android:paddingBottom="5dip" android:paddingTop="5dip" />
2、讓軟鍵盤出現(xiàn)搜索按鈕
- 核心代碼塊1:
這倆個(gè)一定要設(shè)置,要不然軟鍵盤不會(huì)出現(xiàn)搜索
android:imeOptions="actionSearch" android:singleLine="true"
- 核心代碼塊2:
Activity或者Fragment 要實(shí)現(xiàn)TextView.OnEditorActionListener接口
public class DrugCatalogueInquiryFragment extends GeneralSocialFragment implements TextView.OnEditorActionListener { private ClearEditText etDrugName; etDrugName = xFindViewById(R.id.et_drug_name); etDrugName.setOnEditorActionListener(this); @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { doWhichOperation(actionId); return true; } private void doWhichOperation(int actionId) { switch (actionId) { case EditorInfo.IME_ACTION_SEARCH: //隱藏項(xiàng)目中彈框 hideSoftInputMethod(); //項(xiàng)目中個(gè)性化操作 getEditTextValue(); pageno = 1; getMedicineListInfoForApp(name,firstWord,type,level,pageno); break; default: break; } } }
3、多行EditText的時(shí)候會(huì)出現(xiàn)光標(biāo)在中間的問題:
關(guān)鍵代碼
android:gravity="left"
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:minLines="5" android:background="#ffffff" android:paddingLeft="5dp" android:gravity="left" />
像這種。這是什么原因造成的呢?用來EdittText默認(rèn)是gravity是center.就是從中間對(duì)齊。我們把他改成left啊top啊就OK了。
4、修改EditText的光標(biāo)顏色
在使用EditText的XML 文件中加入一個(gè)屬性:
android:textCursorDrawable="@null" //或者 android:textCursorDrawable = "#fff000"
這個(gè)屬性是用來控制光標(biāo)顏色的,"@null" 是作用是讓光標(biāo)顏色和text color一樣,當(dāng)然也可以修改成你自己的顏色。
5、通過監(jiān)聽OnFocusChangeListener判斷EditText的焦點(diǎn)與否
private void initListener(){ etDrugName.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean b) { if (b){ TypeUtils.getInstance( getActivity() ).hideKeyboardView(); } } }); etDrugNameOfInitial.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean b) { if (b){ TypeUtils.getInstance( getActivity() ).hideKeyboardView(); } } }); }
6、通過屬性android:ellipsize來對(duì)文本內(nèi)容的呈現(xiàn)做說明
android:ellipsize="end"
7、通過屬性android:digits來規(guī)定只能輸入的值
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
8、規(guī)定只能輸入中文
/** * 通過使用Android源碼中的InputFilter接口 */ InputFilter filter = new InputFilter() { public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { for (int i = start; i < end; i++) { if (!isChinese(source.charAt(i))) { return ""; } } return null; } }; /** * 判定輸入漢字 * * @param c * @return */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; }
到這里就結(jié)束啦。
以上就是Android使用EditText小技巧匯總的詳細(xì)內(nèi)容,更多關(guān)于Android使用EditText的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Android開發(fā)EditText實(shí)現(xiàn)密碼顯示隱藏
- Android開發(fā)EditText禁止輸入監(jiān)聽及InputFilter字符過濾
- Android中EditText光標(biāo)的顯示與隱藏方法
- Android TextWatcher三個(gè)回調(diào)以及監(jiān)聽EditText的輸入案例詳解
- Android EditText輸入框?qū)崿F(xiàn)下拉且保存最近5個(gè)歷史記錄思路詳解
- Android EditText隨輸入法一起移動(dòng)并懸浮在輸入法之上的示例代碼
- Android EditText每4位自動(dòng)添加空格效果
- Android編輯框EditText與焦點(diǎn)變更監(jiān)視器及文本變化監(jiān)視器實(shí)現(xiàn)流程詳解
相關(guān)文章
Android入門之在SharedPreference中使用加密
這篇文章主要為大家詳細(xì)介紹了Android如何使在SharedPreference中使用加密,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Android有一定的幫助,需要的可以參考一下2022-12-12Android 如何攔截用戶頻繁操作(點(diǎn)擊事件)
本文主要介紹了Android 如何攔截用戶頻繁操作,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08Android之高德地圖定位SDK集成及地圖功能實(shí)現(xiàn)
本文主要介紹了Android中高德地圖定位SDK集成及地圖功能的實(shí)現(xiàn)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04Android 實(shí)現(xiàn)桌面未讀角標(biāo)
本文主要介紹了Android實(shí)現(xiàn)桌面未讀角標(biāo)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04Flutter實(shí)現(xiàn)購物車功能(代碼+邏輯)
本文主要介紹了Flutter實(shí)現(xiàn)購物車功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03Android開發(fā)Flutter?桌面應(yīng)用窗口化實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了Android開發(fā)Flutter?桌面應(yīng)用窗口化實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09