1. 程式人生 > >Android鍵盤輸入法(一)——鍵盤型別

Android鍵盤輸入法(一)——鍵盤型別

扯淡:好久沒有寫部落格,不,是好久沒有認真寫部落格。以前都是隨便寫一下就扔掉了,今天新建了部落格,打算重新開始,認真對待。也與大家分享我所學的知識,然本人才疏學淺,不足之處還望各位大佬多多指點。

指定鍵盤型別android:InputType

<EditText
    android:id="@+id/phone"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="@string/phone_hint"
    android:inputType
="phone" />

Android會根據輸入型別的不同使用不同的鍵盤

先舉三個例子看看效果
* phone數字鍵盤
這裡寫圖片描述
* textPassword”鍵密碼
這裡寫圖片描述
* android:inputType=”textAutoCorrect”開啟拼寫建議
這裡寫圖片描述
下面是inputType值的大全:
* none輸入普通字元
* text輸入普通字元
* textCapCharacters輸入普通字元
* textCapWords單詞首字母大小
* textAutoCorrect前兩個自動完成
* textAutoComplete前兩個自動完成
* textMultiLine多行輸入
* textImeMultiLine輸入法多行(不一定支援)
* textNoSuggestions不提示
* textUriURI格式
* textEmailAddress–電子郵件地址格式
* textEmailSubject郵件主題格式
* textShortMessage短訊息格式
* textLongMessage長訊息格式
* textPersonName人名格式
* textPostalAddress郵政格式
* textPassword密碼格式
* textVisiblePassword密碼可見格式
* textWebEditText作為網頁表單的文字格式
* textFilter文字篩選格式
* textAutoCorrect開啟拼寫建議
* textPhonetic拼音輸入格式
* number數字格式
* numberSigned有符號數字格式
* numberDecimal可以帶小數點的浮點格式
* phone撥號鍵盤
* datetime
* date日期鍵盤
* time時間鍵盤
* phone|textAutoCorrect|textCapSentences(多種結合)開啟拼寫建議並開啟首字母大寫並指定鍵盤型別

輸入法行為android:imeOptions

預設Next或者Done,除非我們的文字框允許多行輸入android:inputType=”textMultLine”
* android:imeOptions=”actionSend”傳送
這裡寫圖片描述
* android:imeOptions=”actionSearch”

使用

.xml

<EditText
    android:id="@+id/search"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
android:hint="@string/search_hint" android:inputType="text" android:imeOptions="actionSend" />

.java監聽動作按鈕的按壓

EditText editText = (EditText) findViewById(R.id.search);
editText.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        boolean handled = false;
        if (actionId == EditorInfo.IME_ACTION_SEND) {
            sendMessage();
            handled = true;
        }
        return handled;
    }
});