語言

Presentation 類別

定義

簡報的基底類別。

[Android.Runtime.Register("android/app/Presentation", DoNotGenerateAcw=true)]
public class Presentation : Android.App.Dialog
[<Android.Runtime.Register("android/app/Presentation", DoNotGenerateAcw=true)>]
type Presentation = class
    inherit Dialog
繼承
屬性

備註

簡報的基底類別。 簡報是一種特殊的對話形式,目的是將內容呈現在另一個顯示器上。 雖然傳統上用於外部顯示器,但從Build.VERSION_CODES年開始。BAKLAVA Display.FLAG_PRESENTATION 現在也能安裝在內建的內部顯示器上,讓簡報也能在上面播放。 早期版本中,內部顯示器不適合簡報,嘗試展示顯示器總是會被例外。 簡報會在建立時與目標顯示器關聯,並根據顯示器的指標配置其上下文與資源配置。

值得注意的是,呈現的情境與其所包含的活動情境不同。 重要的是,放大簡報的版面並利用簡報本身的上下文載入其他資源,以確保載入的資產大小與密度符合目標顯示。

當呈現所連接的顯示器被移除或應用程式相關的任務被移除時,呈現會自動被取消(參見 Dialog.cancel())。 活動應該負責在活動本身暫停或恢復時,暫停並繼續播放簡報中正在播放的內容。

在展示簡報前,選擇該展示會呈現的展示區非常重要。 選擇簡報展示有時會比較困難,因為可能同時連接多個顯示器。 應用程式不應嘗試猜測哪種顯示器最好,而是讓系統選擇合適的呈現顯示器。

選擇顯示器主要有兩種方式。

選擇簡報顯示最簡單的方法是使用 MediaRouter API。 媒體路由器服務會追蹤系統上可用的音訊和視訊路由。 媒體路由器會在路由被選擇或取消選中,或路由的偏好顯示方式改變時發送通知。 因此應用程式只需監控這些通知,就能自動在偏好的簡報顯示上顯示或關閉簡報。

首選的呈現顯示器是媒體路由器建議應用程式在其他顯示器上顯示內容時應該使用的顯示器。 有時可能沒有偏好的呈現顯示,此時應用程式應在本地顯示內容,無需使用簡報。

以下是如何使用媒體路由器,使用 MediaRouter.RouteInfo.getPresentationDisplay() 在偏好的簡報顯示器上建立並顯示簡報。

以下 ApiDemos 範例程式碼示範如何利用媒體路由器自動切換在應用程式活動中顯示內容與簡報中顯示內容,當簡報顯示可用時。

另一種選擇簡報顯示方式的方法是直接使用 DisplayManager API。 顯示管理員服務提供功能,用以枚舉並描述所有附加於系統的顯示器,包括可用於簡報的顯示器。

顯示管理器負責追蹤系統中所有的顯示。 然而,並非所有展示都適合展示簡報。 例如,為了避免應用程式遮蔽自身內容,將簡報與應用程式的頂端可見任務同時顯示。 此外,內部顯示器上的呈現受限,可能需要應用程式的任務聚焦於其他顯示器,以確保使用者能積極與應用程式互動。 違反這些規則會導致在呼叫 show() 時拋出 WindowManager.InvalidDisplayException。 如果在簡報已經可見時仍未符合顯示條件,系統會自動將其排除,應用程式將接收 onStop() 回撥。 當呈現時,為了安全考量,呈現會遮蔽目標顯示器上的其他活動。

以下是如何使用 DisplayManager.getDisplays(String) 和 DisplayManager.DISPLAY_CATEGORY_PRESENTATION 類別來辨識適合展示簡報的顯示器。

以下 ApiDemos 範例程式碼示範如何使用顯示管理器同時枚舉多個顯示顯示器及內容。

Android 參考資料。android.app.Presentation

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
Presentation(Context, Display, Int32)

建立一個新的呈現,並透過可選的主題附加到指定的顯示器上。

Presentation(Context, Display)

建立一個新的簡報,並使用預設主題附加到指定的顯示器上。

Presentation(IntPtr, JniHandleOwnership)

初始化現有 Java 原生介面物件的受管理表示。

屬性

名稱 Description
ActionBar

如果有的話,請取回附在這段對話框上的。ActionBar

(繼承來源 Dialog)
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Context

取得此對話正在執行的上下文。

(繼承來源 Dialog)
CurrentFocus

呼叫 android.view.Window#getCurrentFocus 此活動視窗以返回當前聚焦的視圖。

(繼承來源 Dialog)
Display

我懂 Display 這個演講出現的那個。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
IsShowing (繼承來源 Dialog)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

簡報的基底類別。

(繼承來源 JavaObject)
JniPeerMembers

提供 Android.App.Presentation 的 JNI 綁定基礎架構。

LayoutInflater (繼承來源 Dialog)
OnBackInvokedDispatcher

回傳 OnBackInvokedDispatcher 與該對話框所連結視窗相關的實例。

(繼承來源 Dialog)
OwnerActivity

回傳擁有此對話的活動。 -或- 設定擁有此對話框的活動。

(繼承來源 Dialog)
PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
Resources

這應該 Resources 用來充實這場簡報的版面。

SearchEvent

在 onSearchRequested() 回調時,這個函式會回傳 SearchEvent 觸發回調的 (如果存在的話)。

(繼承來源 Dialog)
ThresholdClass

提供 Android.App.Presentation 的 JNI 綁定基礎架構。

ThresholdType

提供 Android.App.Presentation 的 JNI 綁定基礎架構。

VolumeControlStream

預設情況下,這會使用擁有者活動建議的串流類型。

(繼承來源 Dialog)
Window

取得該活動目前的視窗。

(繼承來源 Dialog)

方法

名稱 Description
AddContentView(View, ViewGroup+LayoutParams)

在螢幕上新增一個額外的內容檢視。

(繼承來源 Dialog)
Cancel()

取消對話。

(繼承來源 Dialog)
Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
CloseOptionsMenu()

另請參閱:

(繼承來源 Dialog)
Construct(JniObjectReference, JniObjectReferenceOptions)

簡報的基底類別。

(繼承來源 JavaObject)
Create()

強制立即創建對話。

(繼承來源 Dialog)
Dismiss()

關閉此對話框,從螢幕上移除。

(繼承來源 Dialog)
DispatchGenericMotionEvent(MotionEvent)

被召喚處理一般動態事件。

(繼承來源 Dialog)
DispatchKeyEvent(KeyEvent)

被召喚處理關鍵事件。

(繼承來源 Dialog)
DispatchKeyShortcutEvent(KeyEvent)

被呼叫處理一個關鍵捷徑事件。

(繼承來源 Dialog)
DispatchPopulateAccessibilityEvent(AccessibilityEvent)

被召喚處理無障礙事件的人口。

(繼承來源 Dialog)
DispatchTouchEvent(MotionEvent)

被召喚來處理觸控螢幕事件。

(繼承來源 Dialog)
DispatchTrackballEvent(MotionEvent)

被召喚處理軌跡球事件。

(繼承來源 Dialog)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

簡報的基底類別。

(繼承來源 JavaObject)
Equals(Object)

簡報的基底類別。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
FindViewById(Int32)

尋找具有相同 ID 的第一個後代視圖,或 null 若 ID 無效(< 0)、階層中無匹配視圖,或對話尚未完整建立(例如 via #show() 或 #create())。

(繼承來源 Dialog)
FindViewById<T>(Int32) (繼承來源 Dialog)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
Hide()

隱藏對話,但不要忽視它。

(繼承來源 Dialog)
InvalidateOptionsMenu()

另請參閱:

(繼承來源 Dialog)
JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
OnActionModeFinished(ActionMode)

待補充

        Note that if you override this method you should always call through
        to the superclass implementation by calling super.
(繼承來源 Dialog)
OnActionModeStarted(ActionMode)

待補充

        Note that if you override this method you should always call through
        to the superclass implementation by calling super.
(繼承來源 Dialog)
OnAttachedToWindow()

當視窗連接到視窗管理器時,我會打電話。

(繼承來源 Dialog)
OnBackPressed()

當對話框偵測到使用者按下返回鍵時,會被呼叫。

(繼承來源 Dialog)
OnContentChanged()

每當螢幕內容檢視改變(因呼叫 Window.setContentView 或 Window.addContentView)時,都會呼叫這個鉤子。

(繼承來源 Dialog)
OnContextItemSelected(IMenuItem)

另請參閱:

(繼承來源 Dialog)
OnContextMenuClosed(IMenu)

另請參閱:

(繼承來源 Dialog)
OnCreate(Bundle)

類似 Activity#onCreate地,你應該用這種方式初始化對話,包括呼叫 #setContentView。

(繼承來源 Dialog)
OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo)

當此視圖的右鍵選單建立時會被呼叫。

(繼承來源 Dialog)
OnCreateOptionsMenu(IMenu)

如果客戶端希望該對話對話使用相同的選單,通常可以將此呼叫代理給擁有者的活動 Activity#onCreateOptionsMenu(Menu) 。

(繼承來源 Dialog)
OnCreatePanelMenu(Int32, IMenu)

初始化選單中面板「featureId」的內容。

(繼承來源 Dialog)
OnCreatePanelView(Int32)

在面板裡的「featureId」裡實例化顯示的視圖。

(繼承來源 Dialog)
OnDetachedFromWindow()

當視窗從視窗管理器中分離後,我會打電話。

(繼承來源 Dialog)
OnDisplayChanged()

當所附的表示的屬性 Display 改變時,系統會呼叫它。

OnDisplayRemoved()

當 Display 所附的簡報被移除時,系統會呼叫這個訊息。

OnGenericMotionEvent(MotionEvent)

當對話框內的任何視圖都未處理一般動作事件時,會被呼叫。

(繼承來源 Dialog)
OnKeyDown(Keycode, KeyEvent)

一個按鍵被按下。

(繼承來源 Dialog)
OnKeyLongPress(Keycode, KeyEvent)

預設實作 KeyEvent.Callback#onKeyLongPress(int, KeyEvent) KeyEvent.Callback.onKeyLongPress():總是回傳 false(不處理事件)。

(繼承來源 Dialog)
OnKeyMultiple(Keycode, Int32, KeyEvent)

預設實作 KeyEvent.Callback#onKeyMultiple(int, int, KeyEvent) KeyEvent.Callback.onKeyMultiple():總是回傳 false(不處理事件)。

(繼承來源 Dialog)
OnKeyShortcut(Keycode, KeyEvent)

當對話框中任何檢視都未處理某個快捷鍵事件時,會呼叫此事件。

(繼承來源 Dialog)
OnKeyUp(Keycode, KeyEvent)

一把鑰匙被釋放了。

(繼承來源 Dialog)
OnMenuItemSelected(Int32, IMenuItem)

當使用者選擇面板的選單項目時,會被呼叫。

(繼承來源 Dialog)
OnMenuOpened(Int32, IMenu)

當使用者打開面板選單時呼叫。

(繼承來源 Dialog)
OnOptionsItemSelected(IMenuItem)

另請參閱:

(繼承來源 Dialog)
OnOptionsMenuClosed(IMenu)

另請參閱:

(繼承來源 Dialog)
OnPanelClosed(Int32, IMenu)

當面板關閉時會被打電話。

(繼承來源 Dialog)
OnPrepareOptionsMenu(IMenu)

如果客戶端希望該對話對話使用相同的選單,通常可以將此呼叫代理給擁有者的活動 Activity#onPrepareOptionsMenu(Menu) 。

(繼承來源 Dialog)
OnPreparePanel(Int32, View, IMenu)

準備一個展示面板。

(繼承來源 Dialog)
OnRestoreInstanceState(Bundle)

從先前儲存的套件中恢復對話狀態。

(繼承來源 Dialog)
OnSaveInstanceState()

將對話狀態存成一個 bundle。

(繼承來源 Dialog)
OnSearchRequested()

當使用者表示想要開始搜尋時,會呼叫這個鉤子。

(繼承來源 Dialog)
OnSearchRequested(SearchEvent)

當使用者表示想要開始搜尋時,會呼叫這個鉤子。

(繼承來源 Dialog)
OnStart()

對話開始時會被打電話。

(繼承來源 Dialog)
OnStop()

打電話告訴你你要停下來了。

(繼承來源 Dialog)
OnTouchEvent(MotionEvent)

當觸控螢幕事件未被任何視圖處理時會被呼叫。

(繼承來源 Dialog)
OnTrackballEvent(MotionEvent)

當軌跡球移動且未被活動內任何視角處理時,該動作被判定。

(繼承來源 Dialog)
OnWindowAttributesChanged(WindowManagerLayoutParams)

每當目前視窗屬性改變時,都會呼叫這個功能。

(繼承來源 Dialog)
OnWindowFocusChanged(Boolean)

每當視窗焦點改變時,就會呼叫這個鉤子。

(繼承來源 Dialog)
OnWindowStartingActionMode(ActionMode+ICallback, ActionModeType)

當動作模式啟動時會呼叫。

(繼承來源 Dialog)
OnWindowStartingActionMode(ActionMode+ICallback)

當動作模式啟動時會呼叫。

(繼承來源 Dialog)
OpenContextMenu(View)

另請參閱:

(繼承來源 Dialog)
OpenOptionsMenu()

另請參閱:

(繼承來源 Dialog)
RegisterForContextMenu(View)

另請參閱:

(繼承來源 Dialog)
RequestWindowFeature(Int32)

啟用擴充視窗功能。

(繼承來源 Dialog)
RequireViewById(Int32)

若該 ID 無效(< 0)、階層中無匹配視圖,或對話框尚未完整建立(例如 via #show() 或 #create()),則會拋出 IllegalArgumentException。

(繼承來源 Dialog)
SetCancelable(Boolean)

設定此對話是否可用 KeyEvent#KEYCODE_BACK BACK 鍵取消。

(繼承來源 Dialog)
SetCanceledOnTouchOutside(Boolean)

設定當被觸碰視窗範圍外時,該對話是否會被取消。

(繼承來源 Dialog)
SetCancelMessage(Message)

設定在對話取消時發送訊息。

(繼承來源 Dialog)
SetContentView(Int32)

從版面資源設定螢幕內容。

(繼承來源 Dialog)
SetContentView(View, ViewGroup+LayoutParams)

將螢幕內容設定為明確視圖。

(繼承來源 Dialog)
SetContentView(View)

將螢幕內容設定為明確視圖。

(繼承來源 Dialog)
SetDismissMessage(Message)

設定在對話結束時發送訊息。

(繼承來源 Dialog)
SetFeatureDrawable(Int32, Drawable)

方便打電話 android.view.Window#setFeatureDrawable(int, Drawable)。

(繼承來源 Dialog)
SetFeatureDrawableAlpha(Int32, Int32)

方便打電話 android.view.Window#setFeatureDrawableAlpha。

(繼承來源 Dialog)
SetFeatureDrawableResource(Int32, Int32)

方便打電話 android.view.Window#setFeatureDrawableResource。

(繼承來源 Dialog)
SetFeatureDrawableUri(Int32, Uri)

方便打電話 android.view.Window#setFeatureDrawableUri。

(繼承來源 Dialog)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetOnCancelListener(IDialogInterfaceOnCancelListener)

設定一個監聽器,當對話被取消時被呼叫。

(繼承來源 Dialog)
SetOnDismissListener(IDialogInterfaceOnDismissListener)

設定一個聆聽者,當對話被關閉時被調用。

(繼承來源 Dialog)
SetOnKeyListener(IDialogInterfaceOnKeyListener)

設定若將金鑰派遣到對話框時會呼叫的回調。

(繼承來源 Dialog)
SetOnShowListener(IDialogInterfaceOnShowListener)

設定一個監聽器,在對話顯示時被呼叫。

(繼承來源 Dialog)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

簡報的基底類別。

(繼承來源 JavaObject)
SetTitle(ICharSequence)

為此對話視窗設定標題文字。

(繼承來源 Dialog)
SetTitle(Int32)

為此對話視窗設定標題文字。

(繼承來源 Dialog)
SetTitle(String)

為此對話視窗設定標題文字。

(繼承來源 Dialog)
Show()

開始對話框並在螢幕上顯示。

(繼承來源 Dialog)
TakeKeyEvents(Boolean)

請求將關鍵事件納入此對話。

(繼承來源 Dialog)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterForContextMenu(View)

另請參閱:

(繼承來源 Dialog)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

事件

名稱 Description
CancelEvent (繼承來源 Dialog)
DismissEvent (繼承來源 Dialog)
KeyPress (繼承來源 Dialog)
ShowEvent (繼承來源 Dialog)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

簡報的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

簡報的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

簡報的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

簡報的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

簡報的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

簡報的基底類別。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

簡報的基底類別。

(繼承來源 Dialog)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

簡報的基底類別。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於