android:edittext 輸入問題

心鑫發表於2014-01-13

實現在EditText中輸入自定義表情,需要將放在drawable中的表情圖片,嵌入到EditText中,這裡利用ImageSpan實現該功能。

第一步:利用反射機制,得到圖片資源的ID,生成圖片bitmap物件

Field field = R.drawable.class.getDeclaredField("image" + random);
int resouceId = Integer.parseInt(field.get(null).toString());
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resouceId);

第二步:建立imageSpan物件,將imageSpan物件載入到spannableString中

ImageSpan span = new ImageSpan(getApplicationContext(), bitmap);
SpannableString spanna = new SpannableString("image");
spanna.setSpan(span, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

第三步:將SpannableString物件加到EditText中

edittext.append(spanna);


如何在EditText中限定輸入字元的方式:

1.通過設定digits屬性限定輸入的字元:android:digits="0123456789"

2.通過設定inputtype屬性選擇輸入字元型別:android:inputType="number"

3.通過設定numberic屬性接受數字輸入:android:numeric="integer"


android:inputType來設定文字的型別,讓輸入法選擇合適的軟鍵盤的.

android:numeric來控制輸入的數字型別,一共有三種分別為integer(正整數)、signed

帶符號整數)和decimal(浮點數).

相關文章