KeyEvent 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
用來報告索引鍵和按鈕事件的物件。
[Android.Runtime.Register("android/view/KeyEvent", DoNotGenerateAcw=true)]
public class KeyEvent : Android.Views.InputEvent, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/view/KeyEvent", DoNotGenerateAcw=true)>]
type KeyEvent = class
inherit InputEvent
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
用來報告索引鍵和按鈕事件的物件。
每個按鍵按下都會由一連串按鍵事件描述。 按鍵按下會以 索引 #ACTION_DOWN
鍵事件開頭。 如果索引鍵的保留時間夠長且重複,則初始向下會遵循其他索引鍵事件, #ACTION_DOWN
並針對 #getRepeatCount()
執行非零值。 最後一個 #ACTION_UP
索引鍵事件是向上鍵的 。 如果按下按鍵已取消,按鍵啟動事件就會 #FLAG_CANCELED
設定旗標。
主要事件通常會伴隨索引鍵程式碼 () #getKeyCode()
、掃描程式碼 (#getScanCode()
) 和中繼狀態 () #getMetaState()
。 此類別中定義了索引鍵程式碼常數。 掃描程式碼常數是從 OS 取得的原始裝置特定程式碼,因此除非使用 KeyCharacterMap
解譯,否則對應用程式來說並不有意義。 中繼狀態原因按鍵修飾詞的按下狀態,例如 #META_SHIFT_ON
或 #META_ALT_ON
。
金鑰碼通常會對應一對一與輸入裝置上的個別金鑰。 許多按鍵和按鍵組合在不同的輸入裝置上提供相當不同的功能,因此在解譯它們時必須小心。 將索引鍵對應至字元時,一律使用 KeyCharacterMap
與輸入裝置相關聯的 。 請注意,可能同時有多個金鑰輸入裝置作用中,而且每個裝置都有自己的按鍵字元對應。
由於軟式輸入方法可以使用多種且創新的方式來輸入文字,因此不保證在軟式鍵盤上按下任何按鍵會產生按鍵事件:這是保留給輸入法的任意方式,事實上不建議傳送這類事件。 您絕對不應該依賴在軟式輸入方法上接收 KeyEvents。 特別是,預設軟體鍵盤永遠不會將任何按鍵事件傳送至任何以 Jelly Bean 或更新版本為目標的應用程式,而且只會傳送某些刪除事件,並將按鍵傳回至以 Ice Cream Sandwich 或更早版本為目標的應用程式。 請注意,不論版本為何,其他軟體輸入方法可能永遠不會傳送金鑰事件。 請考慮使用編輯器動作,例如 android.view.inputmethod.EditorInfo#IME_ACTION_DONE
,如果您需要與軟體鍵盤的特定互動,因為它可讓使用者更瞭解應用程式對按鍵按下的回應方式。
與 IME 互動時,架構可能會使用特殊動作 #ACTION_MULTIPLE
來傳遞索引鍵事件,以指定要插入的單一重複按鍵程式碼或字元序列。
一般而言,架構無法保證其傳遞至檢視的主要事件一律構成完整的索引鍵序列,因為某些事件可能會在傳遞之前,藉由包含檢視來卸載或修改。 檢視實作應該準備好處理 #FLAG_CANCELED
,而且應該容許異常的情況,例如接收新的 #ACTION_DOWN
,而不需要先收到 #ACTION_UP
先前按鍵按下的 。
InputDevice
如需不同輸入裝置和來源如何代表按鍵和按鈕的詳細資訊,請參閱 。
的 android.view.KeyEvent
JAVA 檔。
此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。
建構函式
KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32) |
建立新的金鑰事件。 |
KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates) |
建立新的金鑰事件。 |
KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates, Int32, Int32) |
建立新的金鑰事件。 |
KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates, Int32, Int32, KeyEventFlags) |
建立新的金鑰事件。 |
KeyEvent(Int64, Int64, KeyEventActions, Keycode, Int32, MetaKeyStates, Int32, Int32, KeyEventFlags, InputSourceType) |
建立新的金鑰事件。 |
KeyEvent(Int64, String, Int32, KeyEventFlags) |
為字元字串建立新的索引鍵事件。 |
KeyEvent(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。 |
KeyEvent(KeyEvent) |
製作現有金鑰事件的確切複本。 |
KeyEvent(KeyEvent, Int64, Int32) |
已淘汰.
複製現有的金鑰事件,修改其時間和重複計數。 |
KeyEvent(KeyEventActions, Keycode) |
建立新的金鑰事件。 |
欄位
KeycodeDemoApp1 |
已淘汰.
金鑰碼常數:示範應用程式金鑰 #1。 |
KeycodeDemoApp2 |
已淘汰.
金鑰碼常數:示範應用程式金鑰 #2。 |
KeycodeDemoApp3 |
已淘汰.
金鑰碼常數:示範應用程式金鑰 #3。 |
KeycodeDemoApp4 |
已淘汰.
金鑰碼常數:示範應用程式金鑰 #4。 |
KeycodeFeaturedApp1 |
已淘汰.
金鑰碼常數:精選應用程式金鑰 #1。 |
KeycodeFeaturedApp2 |
已淘汰.
金鑰碼常數:精選應用程式金鑰 #2。 |
KeycodeFeaturedApp3 |
已淘汰.
金鑰碼常數:精選應用程式金鑰 #3。 |
KeycodeFeaturedApp4 |
已淘汰.
金鑰碼常數:精選應用程式金鑰 #4。 |
KeycodeKeyboardBacklightDown |
已淘汰.
按鍵程式碼常數:鍵盤下光 |
KeycodeKeyboardBacklightToggle |
已淘汰.
按鍵程式碼常數:鍵盤反光開關 |
KeycodeKeyboardBacklightUp |
已淘汰.
按鍵程式碼常數:鍵盤上光 |
KeycodeMacro1 |
已淘汰.
機碼常數:使用者可透過系統自訂其使用方式的按鈕。 |
KeycodeMacro2 |
已淘汰.
機碼常數:使用者可透過系統自訂其使用方式的按鈕。 |
KeycodeMacro3 |
已淘汰.
機碼常數:使用者可透過系統自訂其使用方式的按鈕。 |
KeycodeMacro4 |
已淘汰.
機碼常數:使用者可透過系統自訂其使用方式的按鈕。 |
KeycodeRecentApps |
已淘汰.
索引鍵程式碼常數:若要開啟 (的最近應用程式檢視。 |
KeycodeStylusButtonPrimary |
已淘汰.
機碼常數:手寫筆的筒子上的主要按鈕。 |
KeycodeStylusButtonSecondary |
已淘汰.
索引鍵程式碼常數:手寫筆底部的次要按鈕。 |
KeycodeStylusButtonTail |
已淘汰.
機碼常數:手寫筆結尾的按鈕。 |
KeycodeStylusButtonTertiary |
已淘汰.
索引鍵程式碼常數:手寫筆底部的第三個按鈕。 |
KeycodeVideoApp1 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #1。 |
KeycodeVideoApp2 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #2。 |
KeycodeVideoApp3 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #3。 |
KeycodeVideoApp4 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #4。 |
KeycodeVideoApp5 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #5。 |
KeycodeVideoApp6 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #6。 |
KeycodeVideoApp7 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #7。 |
KeycodeVideoApp8 |
已淘汰.
金鑰碼常數:影片應用程式金鑰 #8。 |
MaxKeycode |
已淘汰.
已取代這個成員。 |
屬性
Action |
擷取此索引鍵事件的動作。 |
Characters |
對於索引鍵代碼 |
Class |
傳回這個 |
Creator | |
Device |
取得這個事件的來源裝置。 (繼承來源 InputEvent) |
DeviceId |
要新增 |
DisplayLabel |
取得這個索引鍵的主要字元。 |
DownTime |
在時間基底中 |
EventTime |
擷取發生此事件的時間,以 |
Flags |
傳回這個索引鍵事件的旗標。 |
Handle |
基礎 Android 實例的控制碼。 (繼承來源 Object) |
HasNoModifiers |
如果未按下修飾詞按鍵,則會傳回 true。 |
IsAltPressed |
傳回 ALT 中繼鍵的已按下狀態。 |
IsCanceled |
針對 |
IsCapsLockOn |
傳回 CAPS LOCK 中繼金鑰的鎖定狀態。 |
IsCtrlPressed |
傳回 CTRL 中繼鍵的已按下狀態。 |
IsFunctionPressed |
傳回 FUNCTION 中繼鍵的已按下狀態。 |
IsLongPress |
針對 |
IsMetaPressed |
傳回 META 中繼鍵的已按下狀態。 |
IsNumLockOn |
傳回 NUM LOCK 中繼金鑰的鎖定狀態。 |
IsPrintingKey |
如果此機碼產生字元,則傳回 true。 |
IsScrollLockOn |
傳回 SCROLL LOCK 中繼金鑰的鎖定狀態。 |
IsShiftPressed |
傳回 SHIFT 中繼鍵的已按下狀態。 |
IsSymPressed |
傳回 SYM 中繼鍵的已按下狀態。 |
IsSystem |
這是系統金鑰嗎? 系統按鍵無法用於功能表快捷方式。 |
IsTracking |
針對 |
JniIdentityHashCode |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
JniPeerMembers |
用來報告索引鍵和按鈕事件的物件。 |
KeyCharacterMap |
|
KeyCode |
擷取金鑰事件的金鑰碼。 |
MaxKeyCode |
傳回金鑰碼上限。 |
MetaState |
傳回中繼索引鍵的狀態。 |
ModifierMetaStateMask |
取得遮罩,其中包含所有有效的修飾詞金鑰中繼狀態位。 |
Modifiers |
傳回修飾詞索引鍵的狀態。 |
Number |
取得與索引鍵相關聯的數位或符號。 |
PeerReference |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
RepeatCount |
擷取事件的重複計數。 |
ScanCode |
擷取此金鑰事件的硬體金鑰識別碼。 |
Source |
要新增 |
ThresholdClass |
此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。 |
ThresholdType |
此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。 |
UnicodeChar |
取得指定之索引鍵和中繼索引鍵狀態組合所產生的 Unicode 字元。 |
方法
ChangeAction(KeyEvent, KeyEventActions) |
建立與指定索引鍵事件相同的新索引鍵事件,但動作會取代為指定的值。 |
ChangeFlags(KeyEvent, KeyEventFlags) |
建立與指定索引鍵事件相同的新索引鍵事件,但其旗標會取代為指定的值。 |
ChangeTimeRepeat(KeyEvent, Int64, Int32) |
建立與指定索引鍵事件相同的新索引鍵事件,但其事件時間和重複計數會取代為指定的值。 |
ChangeTimeRepeat(KeyEvent, Int64, Int32, KeyEventFlags) |
建立與指定索引鍵事件相同的新索引鍵事件,但其事件時間和重複計數會取代為指定的值。 |
Clone() |
建立並傳回這個 物件的複本。 (繼承來源 Object) |
DescribeContents() |
描述這個可封送處理標記法中包含的特殊物件種類。 (繼承來源 InputEvent) |
Dispatch(KeyEvent+ICallback) | |
Dispatch(KeyEvent+ICallback, KeyEvent+DispatcherState, Object) |
將此金鑰事件傳遞至 回呼介面。 |
Dispose() |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
Dispose(Boolean) |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
GetDeadChar(Int32, Int32) |
取得將輔色放在字元 c 所產生的字元。 |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
GetKeyData(KeyCharacterMap+KeyData) |
已淘汰.
取得指定索引鍵碼的字元轉換資料。 |
GetMatch(Char[]) |
取得字元陣列中可由指定之索引鍵程式碼產生的第一個字元。 |
GetMatch(Char[], Int32) |
已淘汰.
用來報告索引鍵和按鈕事件的物件。 |
GetMatch(Char[], MetaKeyStates) |
取得字元陣列中可由指定之索引鍵程式碼產生的第一個字元。 |
GetUnicodeChar(Int32) |
已淘汰.
用來報告索引鍵和按鈕事件的物件。 |
GetUnicodeChar(MetaKeyStates) |
取得指定之索引鍵和中繼索引鍵狀態組合所產生的 Unicode 字元。 |
HasModifiers(MetaKeyStates) |
如果只按下指定的修飾詞按鍵,則會傳回 true。 |
IsFromSource(InputSourceType) |
判斷事件是否來自指定的來源。 (繼承來源 InputEvent) |
IsGamepadButton(Keycode) |
如果指定的按鍵碼是遊戲台按鈕,則會傳回 true。 |
IsMediaSessionKey(Int32) |
傳回如果未處理,這個索引鍵是否會傳送至 |
IsModifierKey(Keycode) |
如果此機碼是修飾詞索引鍵,則傳回 true。 |
JavaFinalize() |
當垃圾收集判斷物件沒有其他參考時,由物件上的垃圾收集行程呼叫。 (繼承來源 Object) |
KeyCodeFromString(String) |
依符號名稱取得索引鍵碼,例如 「KEYCODE_A」 或相等的數值常數,例如 「29」。 |
KeyCodeToString(Keycode) |
傳回字串,表示指定之索引鍵碼的符號名稱,例如 「KEYCODE_A」、「KEYCODE_DPAD_UP」,如果未知則為 「1001」。 |
MetaStateHasModifiers(MetaKeyStates, MetaKeyStates) |
如果只根據指定的中繼狀態按下指定的修飾詞按鍵,則會傳回 true。 |
MetaStateHasNoModifiers(MetaKeyStates) |
如果未根據指定的中繼狀態按下修飾詞按鍵,則會傳回 true。 |
NormalizeMetaState(MetaKeyStates) |
正規化指定的中繼狀態。 |
Notify() |
喚醒正在等候此物件的監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
SetSource(InputSourceType) |
要新增 |
StartTracking() |
在 期間 |
ToArray<T>() |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
UnregisterFromRuntime() |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 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) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
將這個 物件壓平合併至一個檔案。 |
明確介面實作
IJavaPeerable.Disposed() |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
用來報告索引鍵和按鈕事件的物件。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
用來報告索引鍵和按鈕事件的物件。 |
GetJniTypeName(IJavaPeerable) |
用來報告索引鍵和按鈕事件的物件。 |