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!