Most visited

Recently visited

Added in API level 1

MetaKeyKeyListener

public abstract class MetaKeyKeyListener
extends Object

java.lang.Object
   ↳ android.text.method.MetaKeyKeyListener
Known Direct Subclasses
Known Indirect Subclasses


此基类封装了跟踪元键状态(如SHIFT,ALT和SYM)以及选择文本的伪元状态的行为。

关注元状态的关键听众应该从这个类继承; 你不应该直接在客户端实例化这个类。

该类提供了两种跟踪可以一起使用或独立使用的元状态的机制。

此类的行为因键盘设备的 KeyCharacterMap (如 KeyCharacterMap所述的键盘功能而 key modifier behavior

MetaKeyKeyListener实现了MetaKeyKeyListener和切换键修饰符。 当键修饰符切换到锁定或锁定状态时,修饰符的状态存储在Editable文本缓冲区中,或存储在由客户端管理的元状态整数中。 这些锁定或锁定的修饰符应该被认为是除了键盘已经被报告为在getMetaState()被按下的那些之外的那些。 换句话说, MetaKeyKeyListener增加了键盘提供的元状态; 它不会取代它。 这种区别是很重要的,以确保没有处理由Meta键MetaKeyKeyListenerKEYCODE_CAPS_LOCK或者KEYCODE_NUM_LOCK考虑在内。

为确保正确的元键行为,在将键码映射到字符时应使用以下模式:

private char getUnicodeChar(TextKeyListener listener, KeyEvent event, Editable textBuffer) { // Use the combined meta states from the event and the key listener. int metaState = event.getMetaState() | listener.getMetaState(textBuffer); return event.getUnicodeChar(metaState); }

Summary

Constants

int META_ALT_LOCKED

表示ALT键被锁定的标志。

int META_ALT_ON

表示ALT键处于打开状态的标志。

int META_CAP_LOCKED

表示SHIFT键在CAPS模式下被锁定的标志。

int META_SHIFT_ON

表示SHIFT键打开的标志。

int META_SYM_LOCKED

表示SYM键已锁定的标志。

int META_SYM_ON

表示SYM键开启的标志。

Public constructors

MetaKeyKeyListener()

Public methods

static void adjustMetaAfterKeypress(Spannable content)

处理按键后调用此方法,以便元状态将重置为未移位(如果尚未移位)或已准备好重设为未移位(一旦释放)。

static long adjustMetaAfterKeypress(long state)

处理按键后调用此方法,以便元状态将重置为未移位(如果尚未移位)或已准备好重设为未移位(一旦释放)。

static void clearMetaKeyState(Editable content, int states)
long clearMetaKeyState(long state, int which)

如果指定的元键被锁定,则清除其状态。

void clearMetaKeyState(View view, Editable content, int states)
static final int getMetaState(CharSequence text)

获取元键的状态。

static final int getMetaState(CharSequence text, int meta)

获取特定元键的状态。

static final int getMetaState(long state)

获取元键的状态。

static final int getMetaState(CharSequence text, KeyEvent event)

获取特定按键事件的元键的状态。

static final int getMetaState(long state, int meta)

获取特定元键的状态。

static final int getMetaState(CharSequence text, int meta, KeyEvent event)

获取特定元键的状态以用于特定键事件。

static long handleKeyDown(long state, int keyCode, KeyEvent event)

处理元键的按下。

static long handleKeyUp(long state, int keyCode, KeyEvent event)

处理元键的释放。

static boolean isMetaTracker(CharSequence text, Object what)

如果此对象是此类将用于跟踪指定文本中的任何元状态的对象,则返回true。

static boolean isSelectingMetaTracker(CharSequence text, Object what)

如果此对象是此类将用于跟踪指定文本中的选定元状态的对象,则返回true。

boolean onKeyDown(View view, Editable content, int keyCode, KeyEvent event)

处理元键的按下。

boolean onKeyUp(View view, Editable content, int keyCode, KeyEvent event)

处理元键的释放。

static long resetLockedMeta(long state)

如果您是一种忽略锁定元状态(例如箭头键)并处理密钥的方法,请调用此方法。

static void resetMetaState(Spannable text)

将所有元状态重置为非活动状态。

Protected methods

static void resetLockedMeta(Spannable content)

如果您是一种忽略锁定元状态(例如箭头键)并处理密钥的方法,请调用此方法。

Inherited methods

From class java.lang.Object

Constants

META_ALT_LOCKED

Added in API level 1
int META_ALT_LOCKED

表示ALT键被锁定的标志。

常量值:512(0x00000200)

META_ALT_ON

Added in API level 1
int META_ALT_ON

表示ALT键处于打开状态的标志。 值等于META_ALT_ON

常量值:2(0x00000002)

META_CAP_LOCKED

Added in API level 1
int META_CAP_LOCKED

表示SHIFT键在CAPS模式下被锁定的标志。

常量值:256(0x00000100)

META_SHIFT_ON

Added in API level 1
int META_SHIFT_ON

表示SHIFT键打开的标志。 值等于META_SHIFT_ON

常数值:1(0x00000001)

META_SYM_LOCKED

Added in API level 1
int META_SYM_LOCKED

表示SYM键已锁定的标志。

常量值:1024(0x00000400)

META_SYM_ON

Added in API level 1
int META_SYM_ON

表示SYM键开启的标志。 值等于META_SYM_ON

常量值:4(0x00000004)

Public constructors

MetaKeyKeyListener

Added in API level 1
MetaKeyKeyListener ()

Public methods

adjustMetaAfterKeypress

Added in API level 1
void adjustMetaAfterKeypress (Spannable content)

处理按键后调用此方法,以便元状态将重置为未移位(如果尚未移位)或已准备好重设为未移位(一旦释放)。

Parameters
content Spannable

adjustMetaAfterKeypress

Added in API level 3
long adjustMetaAfterKeypress (long state)

处理按键后调用此方法,以便元状态将重置为未移位(如果尚未移位)或已准备好重设为未移位(一旦释放)。 采取当前状态,返回新状态。

Parameters
state long
Returns
long

clearMetaKeyState

Added in API level 3
void clearMetaKeyState (Editable content, 
                int states)

Parameters
content Editable
states int

clearMetaKeyState

Added in API level 3
long clearMetaKeyState (long state, 
                int which)

如果指定的元键被锁定,则清除其状态。

Parameters
state long: the meta key state
which int: meta keys to clear, may be a combination of META_SHIFT_ON, META_ALT_ON or META_SYM_ON.
Returns
long

clearMetaKeyState

Added in API level 3
void clearMetaKeyState (View view, 
                Editable content, 
                int states)

Parameters
view View
content Editable
states int

getMetaState

Added in API level 1
int getMetaState (CharSequence text)

获取元键的状态。

Parameters
text CharSequence: the buffer in which the meta key would have been pressed.
Returns
int an integer in which each bit set to one represents a pressed or locked meta key.

getMetaState

Added in API level 1
int getMetaState (CharSequence text, 
                int meta)

获取特定元键的状态。

Parameters
text CharSequence: the buffer in which the meta key would have been pressed.
meta int: META_SHIFT_ON, META_ALT_ON, META_SYM_ON
Returns
int 0 if inactive, 1 if active, 2 if locked.

getMetaState

Added in API level 3
int getMetaState (long state)

获取元键的状态。

Parameters
state long: the current meta state bits.
Returns
int an integer in which each bit set to one represents a pressed or locked meta key.

getMetaState

Added in API level 19
int getMetaState (CharSequence text, 
                KeyEvent event)

获取特定按键事件的元键的状态。 对于使用切换键修饰符的输入设备,“切换”状态存储在文本缓冲区中。 此方法检索此事件的元状态,说明存储的状态。 如果事件是由不支持切换键修饰符的设备(例如虚拟设备)创建的,则存储状态将被忽略。

Parameters
text CharSequence: the buffer in which the meta key would have been pressed.
event KeyEvent: the event for which to evaluate the meta state.
Returns
int an integer in which each bit set to one represents a pressed or locked meta key.

getMetaState

Added in API level 3
int getMetaState (long state, 
                int meta)

获取特定元键的状态。

Parameters
state long: the current state bits.
meta int: META_SHIFT_ON, META_ALT_ON, or META_SYM_ON
Returns
int 0 if inactive, 1 if active, 2 if locked.

getMetaState

Added in API level 19
int getMetaState (CharSequence text, 
                int meta, 
                KeyEvent event)

获取特定元键的状态以用于特定键事件。 如果键事件是由不支持切换键修饰符的设备创建的,例如虚拟键盘,则只考虑键事件中的元状态。

Parameters
text CharSequence: the buffer in which the meta key would have been pressed.
meta int: META_SHIFT_ON, META_ALT_ON, META_SYM_ON
event KeyEvent: the event for which to evaluate the meta state.
Returns
int 0 if inactive, 1 if active, 2 if locked.

handleKeyDown

Added in API level 3
long handleKeyDown (long state, 
                int keyCode, 
                KeyEvent event)

处理元键的按下。

Parameters
state long
keyCode int
event KeyEvent
Returns
long

handleKeyUp

Added in API level 3
long handleKeyUp (long state, 
                int keyCode, 
                KeyEvent event)

处理元键的释放。

Parameters
state long
keyCode int
event KeyEvent
Returns
long

isMetaTracker

Added in API level 1
boolean isMetaTracker (CharSequence text, 
                Object what)

如果此对象是此类将用于跟踪指定文本中的任何元状态的对象,则返回true。

Parameters
text CharSequence
what Object
Returns
boolean

isSelectingMetaTracker

Added in API level 3
boolean isSelectingMetaTracker (CharSequence text, 
                Object what)

如果此对象是此类将用于跟踪指定文本中的选定元状态的对象,则返回true。

Parameters
text CharSequence
what Object
Returns
boolean

onKeyDown

Added in API level 1
boolean onKeyDown (View view, 
                Editable content, 
                int keyCode, 
                KeyEvent event)

处理元键的按下。

Parameters
view View
content Editable
keyCode int
event KeyEvent
Returns
boolean

onKeyUp

Added in API level 1
boolean onKeyUp (View view, 
                Editable content, 
                int keyCode, 
                KeyEvent event)

处理元键的释放。

Parameters
view View
content Editable
keyCode int
event KeyEvent
Returns
boolean

resetLockedMeta

Added in API level 3
long resetLockedMeta (long state)

如果您是一种忽略锁定元状态(例如箭头键)并处理密钥的方法,请调用此方法。

Parameters
state long
Returns
long

resetMetaState

Added in API level 1
void resetMetaState (Spannable text)

将所有元状态重置为非活动状态。

Parameters
text Spannable

Protected methods

resetLockedMeta

Added in API level 1
void resetLockedMeta (Spannable content)

如果您是一种忽略锁定元状态(例如箭头键)并处理密钥的方法,请调用此方法。

Parameters
content Spannable

Hooray!