共用方式為


MetaKeyKeyListener 類別

定義

這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 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
繼承
MetaKeyKeyListener
衍生
屬性

備註

這個基類會封裝追蹤中繼索引鍵狀態的行為,例如 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_LOCKKeyEvent#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.MetaKeyKeyListenerJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

MetaKeyKeyListener()
MetaKeyKeyListener(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
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,以及選取文字的虛擬中繼狀態。

適用於