java getkeycodechar,Java KeyEvent.getUnicodeChar方法代碼示例

本文整理匯總了Java中android.view.KeyEvent.getUnicodeChar方法的典型用法代碼示例。如果您正苦於以下問題:Java KeyEvent.getUnicodeChar方法的具體用法?Java KeyEvent.getUnicodeChar怎麽用?Java KeyEvent.getUnicodeChar使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.view.KeyEvent的用法示例。

在下文中一共展示了KeyEvent.getUnicodeChar方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: dispatchKeyEvent

​點讚 4

import android.view.KeyEvent; //導入方法依賴的package包/類

@Override

public boolean dispatchKeyEvent(KeyEvent event) {

// Determine if the key event was actual text, if so, focus the search bar and then dispatch

// the key normally so that it can process this key event

if (!mSearchBarController.isSearchFieldFocused() &&

event.getAction() == KeyEvent.ACTION_DOWN) {

final int unicodeChar = event.getUnicodeChar();

final boolean isKeyNotWhitespace = unicodeChar > 0 &&

!Character.isWhitespace(unicodeChar) && !Character.isSpaceChar(unicodeChar);

if (isKeyNotWhitespace) {

boolean gotKey = TextKeyListener.getInstance().onKeyDown(this, mSearchQueryBuilder,

event.getKeyCode(), event);

if (gotKey && mSearchQueryBuilder.length() > 0) {

mSearchBarController.focusSearchField();

}

}

}

return super.dispatchKeyEvent(event);

}

開發者ID:michelelacorte,項目名稱:FlickLauncher,代碼行數:21,

示例2: onKeyDown

​點讚 3

import android.view.KeyEvent; //導入方法依賴的package包/類

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

final int uniChar = event.getUnicodeChar();

final boolean handled = super.onKeyDown(keyCode, event);

final boolean isKeyNotWhitespace = uniChar > 0 && !Character.isWhitespace(uniChar);

if (!handled && acceptFilter() && isKeyNotWhitespace) {

boolean gotKey = TextKeyListener.getInstance().onKeyDown(mWorkspace, mDefaultKeySsb,

keyCode, event);

if (gotKey && mDefaultKeySsb != null && mDefaultKeySsb.length() > 0) {

// something usable has been typed - start a search

// the typed text will be retrieved and cleared by

// showSearchDialog()

// If there are multiple keystrokes before the search dialog takes focus,

// onSearchRequested() will be called for every keystroke,

// but it is idempotent, so it's fine.

return onSearchRequested();

}

}

// Eat the long press event so the keyboard doesn't come up.

if (keyCode == KeyEvent.KEYCODE_MENU && event.isLongPress()) {

return true;

}

return handled;

}

開發者ID:enricocid,項目名稱:LaunchEnr,代碼行數:27,

示例3: dispatchKeyEvent

​點讚 3

import android.view.KeyEvent; //導入方法依賴的package包/類

/**

* @brief Captures the keys of the keyboard

* @param event The event

* @details Capture the keys of the keyboard. If the character has to be pressed with a combination of the shift key

* and other key then adds 100 to the modKeyCount attribute to applies the offset

*/

@Override

public boolean dispatchKeyEvent(KeyEvent event) {

if(event.getAction() == KeyEvent.ACTION_DOWN || event.getAction() == KeyEvent.ACTION_UP|| event.getAction() == KeyEvent.ACTION_MULTIPLE){

int keyunicode = event.getUnicodeChar(event.getMetaState() );

char character = (char) keyunicode;

int key = event.getKeyCode();

if(key == 59){

if(modKeyCount == 0){

modKeyCount = 100;

}

else{

modKeyCount = 0;

}

}

else if(key >= 7){

boolean down = event.getAction() == KeyEvent.ACTION_DOWN;

vnc.sendKey(modKeyCount+key,down);

}

Log.e(DEBUG_TAG,String.valueOf( event.getKeyCode()));

}

return super.dispatchKeyEvent(event);

}

開發者ID:CodyyAndroid,項目名稱:LibVNCAndroid,代碼行數:32,

示例4: onKey

​點讚 3

import android.view.KeyEvent; //導入方法依賴的package包/類

@Override

public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {

int action = keyEvent.getAction();

// Work-around for spurious key event from IME, bug #1639445

if(action == KeyEvent.ACTION_MULTIPLE && keyCode == KeyEvent.KEYCODE_UNKNOWN) {

return true; // eat it

}

if(keyEvent.getUnicodeChar() == '=') {

if(action == KeyEvent.ACTION_UP) {

mHandler.onEnter();

}

return true;

}

if(keyCode != KeyEvent.KEYCODE_DPAD_CENTER && keyCode != KeyEvent.KEYCODE_DPAD_UP && keyCode != KeyEvent.KEYCODE_DPAD_DOWN

&& keyCode != KeyEvent.KEYCODE_ENTER) {

if(keyEvent.isPrintingKey() && action == KeyEvent.ACTION_UP) {

// Tell the handler that text was updated.

mHandler.onTextChanged();

}

return false;

}

/*

* We should act on KeyEvent.ACTION_DOWN, but strangely sometimes the

* DOWN event isn't received, only the UP. So the workaround is to act

* on UP... http://b/issue?id=1022478

*/

if(action == KeyEvent.ACTION_UP) {

switch(keyCode) {

case KeyEvent.KEYCODE_ENTER:

case KeyEvent.KEYCODE_DPAD_CENTER:

mHandler.onEnter();

break;

case KeyEvent.KEYCODE_DPAD_UP:

mHandler.onUp();

break;

case KeyEvent.KEYCODE_DPAD_DOWN:

mHandler.onDown();

break;

}

}

return true;

}

開發者ID:gigabytedevelopers,項目名稱:CalcMate,代碼行數:50,

示例5: dispatchKeyEvent

​點讚 2

import android.view.KeyEvent; //導入方法依賴的package包/類

/**

* Called to process key events. You can override this to intercept all

* key events before they are dispatched to the window. Be sure to call

* this implementation for key events that should be handled normally.

*

* @param event The key event.

*

* @return boolean Return true if this event was consumed.

*/

public boolean dispatchKeyEvent(KeyEvent event) {

onUserInteraction();

// Let action bars open menus in response to the menu key prioritized over

// the window handling it

final int keyCode = event.getKeyCode();

if (keyCode == KeyEvent.KEYCODE_MENU &&

mActionBar != null && mActionBar.onMenuKeyEvent(event)) {

return true;

} else if (event.isCtrlPressed() &&

event.getUnicodeChar(event.getMetaState() & ~KeyEvent.META_CTRL_MASK) == '

// Capture the Control-< and send focus to the ActionBar

final int action = event.getAction();

if (action == KeyEvent.ACTION_DOWN) {

final ActionBar actionBar = getActionBar();

if (actionBar != null && actionBar.isShowing() && actionBar.requestFocus()) {

mEatKeyUpEvent = true;

return true;

}

} else if (action == KeyEvent.ACTION_UP && mEatKeyUpEvent) {

mEatKeyUpEvent = false;

return true;

}

}

Window win = getWindow();

if (win.superDispatchKeyEvent(event)) {

return true;

}

View decor = mDecor;

if (decor == null) decor = win.getDecorView();

return event.dispatch(this, decor != null

? decor.getKeyDispatcherState() : null, this);

}

開發者ID:JessYanCoding,項目名稱:ProgressManager,代碼行數:44,

示例6: onKeyUp

​點讚 2

import android.view.KeyEvent; //導入方法依賴的package包/類

/**

* Manages the interaction with the keyboard.

* adds the letter pressed to the message currentyped

* takes one letter out if the key delete is pressed

* saves the message if the key enter is pressed

* @param keycode

* @param keyEvent

* @author Paul Best

* @return

*/

@Override

public boolean onKeyUp(int keycode, KeyEvent keyEvent) {

switch (keyEvent.getUnicodeChar()){

case 0 :

if(currentmessage.length()>0){

currentmessage=currentmessage.subSequence(0,currentmessage.length()-1).toString();

}

currenttyped.setMmessage(currentmessage);

break;

case 10:

if(currentmessage!=""){

save();

}

currenttyped=null;

((InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(this.getWindowToken(), 0);

currentmessage="";

break;

default:

currentmessage+=(char)keyEvent.getUnicodeChar();

currenttyped.setMmessage(currentmessage);

}

postInvalidate();

return false;

}

開發者ID:jkobject,項目名稱:PiPle,代碼行數:43,

示例7: onKeyUp

​點讚 2

import android.view.KeyEvent; //導入方法依賴的package包/類

@Override

public boolean onKeyUp(int keyCode, KeyEvent event) {

if(event.getUnicodeChar()!=0)

new SendMessage().execute("key-"+event.getUnicodeChar());

return super.onKeyUp(keyCode, event);

}

開發者ID:imRishabhGupta,項目名稱:PC-Handler,代碼行數:8,

示例8: translateKeyDown

​點讚 2

import android.view.KeyEvent; //導入方法依賴的package包/類

/**

* This translates incoming hard key events in to edit operations on an

* InputConnection. It is only needed when using the

* PROCESS_HARD_KEYS option.

*/

private boolean translateKeyDown(int keyCode, KeyEvent event) {

mMetaState = MetaKeyKeyListener.handleKeyDown(mMetaState,

keyCode, event);

int c = event.getUnicodeChar(MetaKeyKeyListener.getMetaState(mMetaState));

mMetaState = MetaKeyKeyListener.adjustMetaAfterKeypress(mMetaState);

InputConnection ic = getCurrentInputConnection();

if (c == 0 || ic == null) {

return false;

}

boolean dead = false;

if ((c & KeyCharacterMap.COMBINING_ACCENT) != 0) {

dead = true;

c = c & KeyCharacterMap.COMBINING_ACCENT_MASK;

}

if (mComposing.length() > 0) {

char accent = mComposing.charAt(mComposing.length() -1 );

int composed = KeyEvent.getDeadChar(accent, c);

if (composed != 0) {

c = composed;

mComposing.setLength(mComposing.length()-1);

}

}

onKey(c, null);

return true;

}

開發者ID:VladThodo,項目名稱:behe-keyboard,代碼行數:37,

示例9: dispatchKeyEvent

​點讚 2

import android.view.KeyEvent; //導入方法依賴的package包/類

public boolean dispatchKeyEvent(KeyEvent keyEvent) {

f.b("SecureWebView", "-->dispatchKeyEvent, is device support: " + a);

if (!a) {

return super.dispatchKeyEvent(keyEvent);

}

if (keyEvent.getAction() != 0) {

return super.dispatchKeyEvent(keyEvent);

}

switch (keyEvent.getKeyCode()) {

case 4:

return super.dispatchKeyEvent(keyEvent);

case 66:

return super.dispatchKeyEvent(keyEvent);

case 67:

a.b = true;

return super.dispatchKeyEvent(keyEvent);

default:

if (keyEvent.getUnicodeChar() == 0) {

return super.dispatchKeyEvent(keyEvent);

}

if (SecureJsInterface.isPWDEdit) {

int unicodeChar = keyEvent.getUnicodeChar();

if ((unicodeChar >= 33 && unicodeChar <= 95) || (unicodeChar >= 97 && unicodeChar <= 125)) {

this.b = new KeyEvent(0, 17);

return super.dispatchKeyEvent(this.b);

}

}

return super.dispatchKeyEvent(keyEvent);

}

}

開發者ID:JackChan1999,項目名稱:letv,代碼行數:31,

示例10: onKeyDown

​點讚 2

import android.view.KeyEvent; //導入方法依賴的package包/類

public boolean onKeyDown(int i, KeyEvent keyEvent) {

f.b("SecureWebView", "-->onKeyDown, is device support: " + a);

if (!a) {

return super.onKeyDown(i, keyEvent);

}

if (keyEvent.getAction() != 0) {

return super.onKeyDown(i, keyEvent);

}

switch (keyEvent.getKeyCode()) {

case 4:

return super.onKeyDown(i, keyEvent);

case 66:

return super.onKeyDown(i, keyEvent);

case 67:

a.b = true;

return super.onKeyDown(i, keyEvent);

default:

if (keyEvent.getUnicodeChar() == 0) {

return super.onKeyDown(i, keyEvent);

}

if (SecureJsInterface.isPWDEdit) {

int unicodeChar = keyEvent.getUnicodeChar();

if ((unicodeChar >= 33 && unicodeChar <= 95) || (unicodeChar >= 97 && unicodeChar <= 125)) {

this.b = new KeyEvent(0, 17);

return super.onKeyDown(this.b.getKeyCode(), this.b);

}

}

return super.onKeyDown(i, keyEvent);

}

}

開發者ID:JackChan1999,項目名稱:letv,代碼行數:31,

示例11: decodeHardwareKey

​點讚 2

import android.view.KeyEvent; //導入方法依賴的package包/類

@Override

public Event decodeHardwareKey(final KeyEvent keyEvent) {

// KeyEvent#getUnicodeChar() does not exactly returns a unicode char, but rather a value

// that includes both the unicode char in the lower 21 bits and flags in the upper bits,

// hence the name "codePointAndFlags". {@see KeyEvent#getUnicodeChar()} for more info.

final int codePointAndFlags = keyEvent.getUnicodeChar();

// The keyCode is the abstraction used by the KeyEvent to represent different keys that

// do not necessarily map to a unicode character. This represents a physical key, like

// the key for 'A' or Space, but also Backspace or Ctrl or Caps Lock.

final int keyCode = keyEvent.getKeyCode();

final boolean isKeyRepeat = (0 != keyEvent.getRepeatCount());

if (KeyEvent.KEYCODE_DEL == keyCode) {

return Event.createHardwareKeypressEvent(Event.NOT_A_CODE_POINT, Constants.CODE_DELETE,

null /* next */, isKeyRepeat);

}

if (keyEvent.isPrintingKey() || KeyEvent.KEYCODE_SPACE == keyCode

|| KeyEvent.KEYCODE_ENTER == keyCode) {

if (0 != (codePointAndFlags & KeyCharacterMap.COMBINING_ACCENT)) {

// A dead key.

return Event.createDeadEvent(

codePointAndFlags & KeyCharacterMap.COMBINING_ACCENT_MASK, keyCode,

null /* next */);

}

if (KeyEvent.KEYCODE_ENTER == keyCode) {

// The Enter key. If the Shift key is not being pressed, this should send a

// CODE_ENTER to trigger the action if any, or a carriage return otherwise. If the

// Shift key is being pressed, this should send a CODE_SHIFT_ENTER and let

// Latin IME decide what to do with it.

if (keyEvent.isShiftPressed()) {

return Event.createHardwareKeypressEvent(Event.NOT_A_CODE_POINT,

Constants.CODE_SHIFT_ENTER, null /* next */, isKeyRepeat);

}

return Event.createHardwareKeypressEvent(Constants.CODE_ENTER, keyCode,

null /* next */, isKeyRepeat);

}

// If not Enter, then this is just a regular keypress event for a normal character

// that can be committed right away, taking into account the current state.

return Event.createHardwareKeypressEvent(codePointAndFlags, keyCode, null /* next */,

isKeyRepeat);

}

return Event.createNotHandledEvent();

}

開發者ID:sergeychilingaryan,項目名稱:AOSP-Kayboard-7.1.2,代碼行數:43,

注:本文中的android.view.KeyEvent.getUnicodeChar方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值