Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> (Android 基礎(二十四)) EditText

(Android 基礎(二十四)) EditText

編輯:關於Android編程

介紹

A text field allows the user to type text into your app. It can be either single line or multi-line. Touching a text field places the cursor and automatically displays the keyboard. In addition to typing, text fields allow for a variety of other activities, such as text selection (cut, copy, paste) and data look-up via auto-completion.
You can add a text field to you layout with the EditText object. You should usually do so in your XML layout with a < EditText > element.

文本區域給用戶輸入文字提供了方便,它可以是單行的也可以是多行的。觸摸一個文本區域獲取光標並且自動彈出鍵盤。除了可以輸入文字,文本區域還可以用來執行如文本選中(剪切,復制和粘貼)和通過自動補全實現的數據查詢等功能。你可以通過在布局中添加一個EditText對象來實現文本區域,當然也可以在布局文件中添加EditText Tag.
這裡寫圖片描述

指定鍵盤類型

Text fields can have different input types, such as number, date, password, or email address. The type determines what kind of characters are allowed inside the field, and may prompt the virtual keyboard to optimize its layout for frequently used characters.

You can specify the type of keyboard you want for your EditText object with the android:inputType attribute. For example, if you want the user to input an email address, you should use the textEmailAddress input type:
文本區域有不同的輸入類型,如數字,日期,密碼或者郵箱地址。輸入類型決定了文本區域內允許輸入的字符類型,同時也提示著虛擬鍵盤給用戶展示更加常用的字符集合。我們可以通過使用 android:inputType 屬性來明確我們的輸入框想要的鍵盤類型。例如,如果你想要輸入郵箱地址,你可以使用textEmailAddress輸入類型。

android:inputType Notice “none” 不彈出鍵盤 “text” 普通文本鍵盤 這裡寫圖片描述   “textEmailAddress” 普通文本鍵盤,”@” 這裡寫圖片描述   “textUri” 普通文本鍵盤,”/” 這裡寫圖片描述   “number” 數字鍵盤 這裡寫圖片描述   “phone” Phone-Style鍵盤 這裡寫圖片描述  

控制其他行為

android:inputType屬性不僅可以用來控制顯示特定的鍵盤類型,而且還可以用來明確一些鍵盤的行為,例如是否大寫,自動補全或者是拼寫建議等。android:inputType使用按位與的方式,所以可以指定多種行為

android:inputType Notice “textCapSentences” 正常的文本鍵盤但是每一句話第一個字母大寫 這裡寫圖片描述   “textCapWZ喎?/kf/ware/vc/" target="_blank" class="keylink">vcmRzJnJkcXVvOzwvdGQ+DQoJPHRkPtX9s6POxLG+vPzFzLWrysfDv9K7uPa1pbTKtcS12tK7uPbX1sS4tPPQtDwvdGQ+DQoJPC90cj4NCgk8dHI+DQoJPHRkPiZsZHF1bzt0ZXh0QXV0b0NvcnJlY3QmcmRxdW87PC90ZD4NCgk8dGQ+19S2r8zhyr7GtNC0tO3O8zwvdGQ+DQoJPC90cj4NCgk8dHI+DQoJPHRkPjxpbWcgYWx0PQ=="這裡寫圖片描述" src="/uploadfile/Collfiles/20160930/20160930092415691.png" title="\" />   “textPassword” 輸入的文字都變成點點 這裡寫圖片描述   “textMultiLine” 允許輸入多行文本,可以換行



關於android:inputType屬性有很多,上面都只是一些栗子,感覺應該很全了,大家可以自行研究。
這裡寫圖片描述


指定鍵盤行為

除了改變鍵盤的輸入類型,Android允許當用戶完成輸入指定一個動作,出現的操作指定按鈕的回車鍵和動作,如“搜索”或“發送”鍵。
例如:

鍵盤會顯示出“搜索”按鈕,橫屏之後不僅鍵盤會出現搜索按鈕,右側還會出現對應的字串
這裡寫圖片描述
這裡寫圖片描述
主要是對 android:imeOptions 屬性的使用
這麼多的行為可供選擇,上面只是舉一個栗子

這裡寫圖片描述


對鍵盤中定義的行為的響應

通過android:imeOptions 定義的行為,我們可以對它定義的行為作出響應.我們可以使用TextView.OnEditorActionListener來進行事件的監聽和處理。通過如 IME_ACTION_SEND 或者IME_ACTION_SEARCH等事件ID來針對不同的事件行為做出不同的處理。
例如

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;
    }
});

自定義輸入完成後鍵盤行為的標簽

android:imeActionLabel屬性就是用來設置這個內容的

這裡寫圖片描述


自動補全建議

使用AutoCompleteTextView

布局定義

    

代碼實現

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Get a reference to the AutoCompleteTextView in the layout
        AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);
        // Get the string array
        String[] countries = getResources().getStringArray(R.array.countries_array);
        // Create the adapter and set it to the AutoCompleteTextView
        ArrayAdapter adapter =
                new ArrayAdapter(this, android.R.layout.simple_list_item_1, countries);
        textView.setAdapter(adapter);//設置提示內容
    }

提示數組

    
        Afghanistan
        Albania
        Algeria
        American Samoa
        Andorra
        Angola
        Anguilla
        Antarctica
    

這裡寫圖片描述


備注

內容主要來自於Android官網教程:
https://developer.android.com/guide/topics/ui/controls/text.html

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved