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'/> <strokeandroid: android:color='#BDC7D8' /></shape>
<EditText android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@null' android:hint='輸入用戶名' android:paddingBottom='5dip' android:paddingTop='5dip' />2、讓軟鍵盤出現(xiàn)搜索按鈕
這倆個一定要設(shè)置,要不然軟鍵盤不會出現(xiàn)搜索
android:imeOptions='actionSearch'android:singleLine='true' 核心代碼塊2:
Activity或者Fragment 要實現(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://隱藏項目中彈框hideSoftInputMethod();//項目中個性化操作getEditTextValue();pageno = 1;getMedicineListInfoForApp(name,firstWord,type,level,pageno);break; default:break;} }}3、多行EditText的時候會出現(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.就是從中間對齊。我們把他改成left啊top啊就OK了。
4、修改EditText的光標(biāo)顏色在使用EditText的XML 文件中加入一個屬性:
android:textCursorDrawable='@null'//或者android:textCursorDrawable = '#fff000'
這個屬性是用來控制光標(biāo)顏色的,'@null' 是作用是讓光標(biāo)顏色和text color一樣,當(dāng)然也可以修改成你自己的顏色。
5、通過監(jiān)聽OnFocusChangeListener判斷EditText的焦點與否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來對文本內(nèi)容的呈現(xiàn)做說明
android:ellipsize='end'
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的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
