Android EditText imeOptions屬性詳解

來源:互聯網
上載者:User

標籤:android   edittext   imeoptions   IME   

在我們的手機中,雖然通常IME軟鍵盤右下角會是斷行符號按鍵,但我們經常會看到點擊不同的編輯框,IME軟鍵盤右下角會有不同的表徵圖。例如:
點擊瀏覽器網址欄的時候,IME軟鍵盤右下角會變成“GO”或“前往;
而我們點擊Google搜尋方塊,IME軟鍵盤右下角會變成 放大鏡 或者“搜尋”。
而決定這個表徵圖的變換的參數就是EditText中的 android:imeOptions屬性。android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等

設定 android:imeOptions=”actionDone” ,軟鍵盤下方變成“完成”,點擊後游標保持在原來的輸入框上,並且軟鍵盤關閉。

android:imeOptions=”actionSend” 軟鍵盤下方變成“發送”,點擊後游標移動下一個。

在這裡設定的imeOptions如何使用呢?如下面的代碼,讓EditText實現OnEditorActionListener介面,在onEditorAction方法中actionId就對應我們設定的imeOptions。系統預設的actionId有:EditorInfo.IME_NULL、EditorInfo.IME_ACTION_SEND、EditorInfo.IME_ACTION_DONE等。這樣我們就可以根據不同的EditText來實現不同的軟鍵盤右下角功能鍵。

public class IMEOptionsActivity extends Activity implements OnEditorActionListener {      EditText etDone;      EditText etEmail;      EditText etNumber;      @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.imf_layout);          etDone= (EditText)findViewById(R.id.done_content);          etEmail = (EditText)findViewById(R.id.email_content);          etNumber = (EditText)findViewById(R.id.number_content);          etDone.setOnEditorActionListener(this);          etEmail.setOnEditorActionListener(this);          etNumber.setOnEditorActionListener(this);      }      @Override      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {          switch(actionId){          case EditorInfo.IME_NULL:              System.out.println("Done_content: " + v.getText() );              break;          case EditorInfo.IME_ACTION_SEND:              System.out.println("send a email: "  + v.getText());              break;          case EditorInfo.IME_ACTION_DONE:              System.out.println("action done for number_content: "  + v.getText());              break;          }          return true;      }  }  

Android EditText imeOptions屬性詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.