MetaKeyKeyListener 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。
[Android.Runtime.Register("android/text/method/MetaKeyKeyListener", DoNotGenerateAcw=true)]
public abstract class MetaKeyKeyListener : Java.Lang.Object
[<Android.Runtime.Register("android/text/method/MetaKeyKeyListener", DoNotGenerateAcw=true)>]
type MetaKeyKeyListener = class
inherit Object
- 繼承
- 衍生
- 屬性
備註
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。
關心中繼狀態的重要接聽程式應該繼承自這個類別;您不應該直接在用戶端中具現化此類別。
這個類別提供兩種機制來追蹤可一起使用或獨立使用的中繼狀態。
<ul><li>方法,例如 #handleKeyDown(long, int, KeyEvent)
和 #getMetaState(long)
在中繼密鑰狀態位掩碼上運作。</li li><>方法,例如#onKeyDown(View, Editable, int, KeyEvent)
,以及在#getMetaState(CharSequence, int)
文字緩衝區中Editable
儲存為spans的中繼金鑰狀態旗標上運作。 範圍只會描述文本編輯器目前的中繼索引鍵狀態;它們不會攜帶任何位置資訊。</li></ul>
這個類別的行為會根據鍵盤裝置所 KeyCharacterMap
描述的鍵盤功能而有所不同,例如 KeyCharacterMap#getModifierBehavior() key modifier behavior
。
MetaKeyKeyListener
會實作和切換按鍵修飾詞。 當密鑰修飾詞切換成閂鎖或鎖定狀態時,修飾詞的狀態會儲存在 Editable
文字緩衝區或用戶端管理的中繼狀態整數中。 這些閂鎖或鎖定的修飾詞應該視為保留 <b>,除了<鍵盤> 已回報為按下 的 KeyEvent#getMetaState()
輔助按鍵之外, 換句話說,會 MetaKeyKeyListener
增強鍵盤所提供的中繼狀態;它不會取代它。 這一區別對於確保不會由 MetaKeyKeyListener
這類 KeyEvent#KEYCODE_CAPS_LOCK
或 KeyEvent#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); }
的 android.text.method.MetaKeyKeyListener
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
MetaKeyKeyListener() | |
MetaKeyKeyListener(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
屬性
Class |
傳回這個 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
JniIdentityHashCode |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
JniPeerMembers |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 |
PeerReference |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
AdjustMetaAfterKeypress(Int64) |
在您處理按鍵後呼叫這個方法,讓中繼狀態重設為未移位(如果尚未關閉),或準備重設為未移轉(一旦釋放)。 |
AdjustMetaAfterKeypress(ISpannable) |
在您處理按鍵後呼叫這個方法,讓中繼狀態重設為未移位(如果尚未關閉),或準備重設為未移轉(一旦釋放)。 |
ClearMetaKeyState(IEditable, MetaKeyStates) |
如果鎖定指定的中繼金鑰,則清除其狀態。 |
ClearMetaKeyState(MetaKeyStates, MetaStates) |
如果鎖定指定的中繼金鑰,則清除其狀態。 |
ClearMetaKeyState(View, IEditable, MetaKeyStates) |
如果鎖定指定的中繼金鑰,則清除其狀態。 |
Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
Dispose() |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
Dispose(Boolean) |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
GetMetaState(ICharSequence) |
取得中繼索引鍵的狀態。 |
GetMetaState(ICharSequence, KeyEvent) |
取得特定索引鍵事件的中繼索引鍵狀態。 |
GetMetaState(ICharSequence, MetaStates) |
取得特定中繼索引鍵的狀態。 |
GetMetaState(ICharSequence, MetaStates, KeyEvent) |
取得要搭配特定索引鍵事件使用之特定中繼金鑰的狀態。 |
GetMetaState(MetaKeyStates) |
取得中繼索引鍵的狀態。 |
GetMetaState(MetaKeyStates, MetaStates) |
取得中繼索引鍵的狀態。 |
GetMetaState(String) |
取得中繼索引鍵的狀態。 |
GetMetaState(String, KeyEvent) |
取得特定索引鍵事件的中繼索引鍵狀態。 |
GetMetaState(String, MetaStates) |
取得特定中繼索引鍵的狀態。 |
GetMetaState(String, MetaStates, KeyEvent) |
取得要搭配特定索引鍵事件使用之特定中繼金鑰的狀態。 |
HandleKeyDown(Int64, Keycode, KeyEvent) |
處理中繼鍵的按下。 |
HandleKeyUp(Int64, Keycode, KeyEvent) |
處理中繼金鑰的發行。 |
IsMetaTracker(ICharSequence, Object) |
如果這個對像是這個類別用來追蹤指定文字中任何中繼狀態的物件,則傳回 true。 |
IsMetaTracker(String, Object) |
如果這個對像是這個類別用來追蹤指定文字中任何中繼狀態的物件,則傳回 true。 |
IsSelectingMetaTracker(ICharSequence, Object) |
如果這個對像是這個類別用來追蹤指定文字中選取中繼狀態的物件,則會傳回 true。 |
IsSelectingMetaTracker(String, Object) |
如果這個對像是這個類別用來追蹤指定文字中選取中繼狀態的物件,則會傳回 true。 |
JavaFinalize() |
當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。 (繼承來源 Object) |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
OnKeyDown(View, IEditable, Keycode, KeyEvent) |
處理中繼鍵的按下。 |
OnKeyUp(View, IEditable, Keycode, KeyEvent) |
處理中繼金鑰的發行。 |
ResetLockedMeta(Int64) |
如果您是忽略鎖定中繼狀態的方法,請呼叫這個方法(例如箭頭鍵),並處理索引鍵。 |
ResetLockedMeta(ISpannable) |
如果您是忽略鎖定中繼狀態的方法,請呼叫這個方法(例如箭頭鍵),並處理索引鍵。 |
ResetMetaState(ISpannable) |
將所有中繼狀態重設為非使用中狀態。 |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
ToArray<T>() |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
Wait() |
讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<> (繼承來源 Object) |
Wait(Int64) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
IJavaPeerable.Disposed() |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 |
GetJniTypeName(IJavaPeerable) |
這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 SHIFT、ALT 和 SYM,以及選取文字的虛擬中繼狀態。 |