一:輸入特殊格式的字符
在我們開發(fā)程序的時候不免會輸入一些特屬個數(shù)的字符,比如密碼(輸入框的字符要加密顯示),電話號碼(比如數(shù)字和-),數(shù)字等,這些都算是一些特屬格式的字符,強(qiáng)大的EditText同樣為我們提供了輸入這些特屬格式字符的設(shè)置。
1.密碼文本框。密碼輸入也是Android應(yīng)用常用的功能,通過配置EditText的android:password="true"就可以實(shí)現(xiàn)這一密碼輸入功能,修改main.xml如下:
三:Enter鍵圖標(biāo)的設(shè)置
軟鍵盤的Enter 鍵默認(rèn)顯示的是“完成”文本,我們知道按Enter建表示前置工作已經(jīng)準(zhǔn)備完畢了,要去什么什么啦。比如,在一個搜索中,我們輸入要搜索的文本,然后按 Enter表示要去搜索了,但是默認(rèn)的Enter鍵顯示的是“完成”文本,看著不太合適,不符合搜索的語義,如果能顯示“搜索”兩個字或者顯示一個表示搜索的圖標(biāo)多好。事實(shí)證明我們的想法是合理的,Android也為我們提供的這樣的功能。通過設(shè)置android:imeOptions來改變默認(rèn)的“完成”文本。這里舉幾個常用的常量值:
1.actionUnspecified 未指定,對應(yīng)常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:
2.actionNone 沒有動作,對應(yīng)常量EditorInfo.IME_ACTION_NONE 效果:
3.actionGo 去往,對應(yīng)常量EditorInfo.IME_ACTION_GO 效果:
4.actionSearch 搜索,對應(yīng)常量EditorInfo.IME_ACTION_SEARCH 效果:
5.actionSend 發(fā)送,對應(yīng)常量EditorInfo.IME_ACTION_SEND 效果:
6.actionNext 下一個,對應(yīng)常量EditorInfo.IME_ACTION_NEXT 效果:
7.actionDone 完成,對應(yīng)常量EditorInfo.IME_ACTION_DONE 效果:
下面已搜索為例,演示一個實(shí)例,修改main.xml如下:
Java代碼
1.package com.flysnow;
2.
3.import android.app.Activity;
4.import android.os.Bundle;
5.import android.view.KeyEvent;
6.import android.widget.EditText;
7.import android.widget.TextView;
8.import android.widget.Toast;
9.import android.widget.TextView.OnEditorActionListener;
10.
11.public class HelloEditText extends Activity {
12. /** Called when the activity is first created. */
13. @Override
14. public void onCreate(Bundle savedInstanceState) {
15. super .onCreate(savedInstanceState);
16. setContentView(R.layout.main);
17. EditText editText=(EditText)findViewById(R.id.edit_text);
18. editText.setOnEditorActionListener(new OnEditorActionListener() {
19. @Override
20. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
21. Toast.makeText(HelloEditText.this , String.valueOf(actionId), Toast.LENGTH_SHORT).show();
22. return false ;
23. }
24. });
25. }
26.}
package com.flysnow;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.TextView.OnEditorActionListener;
public class HelloEditText extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText editText=(EditText)findViewById(R.id.edit_text);
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Toast.makeText(HelloEditText.this, String.valueOf(actionId), Toast.LENGTH_SHORT).show();
return false;
}
});
}
} 運(yùn)行程序,點(diǎn)擊回車(也就是搜索圖標(biāo)軟鍵盤按鈕)會顯示該actionId.我們上面的每一個設(shè)置都會對應(yīng)一個常量,這里的actionId就是那個常量值。