生活随笔
收集整理的這篇文章主要介紹了
处理键盘输入
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
指定鍵盤類型
android:inputType = "phone | textPassword | textMultiLine | text"
android:imeOptions="actionSend | actionSearch | actionDone | actionGo"
EditText editText = (EditText) findViewById(R.id.search);
editText.setInputType(InputType.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_NORMAL);
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); editText.setImeOptions(EditorInfo.IME_ACTION_GO);
editText.setSelection(mEditPwd.getText().toString().length());
editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());editText.setOnEditorActionListener(
new OnEditorActionListener() {
@Overridepublic boolean onEditorAction(TextView v,
int actionId, KeyEvent event) {
boolean handled =
false;
if (actionId == EditorInfo.IME_ACTION_SEND) {sendMessage();handled =
true;}
return handled;}
});
將輸入到 EditText 中的小寫字母轉(zhuǎn)化為大寫字母
public class InputLowerToUpper extends ReplacementTransformationMethod{ @Override protected char[]
getOriginal() {
char[] lower = {
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
'k',
'l',
'm',
'n',
'o',
'p',
'q',
'r',
's',
't',
'u',
'v',
'w',
'x',
'y',
'z' };
return lower; }
@Override protected char[]
getReplacement() {
char[] upper = {
'A',
'B',
'C',
'D',
'E',
'F',
'G',
'H',
'I',
'J',
'K',
'L',
'M',
'N',
'O',
'P',
'Q',
'R',
'S',
'T',
'U',
'V',
'W',
'X',
'Y',
'Z' };
return upper; } }
final EditText textCarNumber=(EditText) viewNew.findViewById(R.id.borrow_carnumber);textCarNumber.setTransformationMethod(
new InputLowerToUpper());
在Activity啟動時顯示輸入法
android:windowSoftInputMode="stateVisible"
public void showSoftKeyboard(View view) {
if (view.requestFocus()) {InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);}
}
指定 UI 的響應(yīng)方式
android:windowSoftInputMode = "adjust"
android:windowSoftInputMode="adjustResize"
處理單個按鍵事件
@Override
public boolean onKeyUp(
int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_D:moveShip(MOVE_LEFT);
return true;
case KeyEvent.KEYCODE_F:moveShip(MOVE_RIGHT);
return true;
case KeyEvent.KEYCODE_J:fireMachineGun();
return true;
case KeyEvent.KEYCODE_K:fireMissile();
return true;
default:
return super.onKeyUp(keyCode, event);}
}
處理修飾鍵
@Override
public boolean onKeyUp(
int keyCode, KeyEvent event) {
switch (keyCode) {...
case KeyEvent.KEYCODE_J:
if (event.isShiftPressed()) {fireLaser();}
else {fireMachineGun();}
return true;
case KeyEvent.KEYCODE_K:
if (event.isShiftPressed()) {fireSeekingMissle();}
else {fireMissile();}
return true;
default:
return super.onKeyUp(keyCode, event);}
}
總結(jié)
以上是生活随笔為你收集整理的处理键盘输入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。