日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android 畫中畫模式的實現示例

瀏覽:23日期:2022-09-21 13:13:14
畫中畫支持

Android 8.0(API 級別 26)允許以畫中畫模式啟動 Activity。畫中畫是一種特殊類型的多窗口模式,最常用于視頻播放。使用該模式,用戶可以通過固定到屏幕一角的小窗口觀看視頻,同時在應用之間進行導航或瀏覽主屏幕上的內容。

畫中畫利用 Android 7.0 中的多窗口模式 API 來提供固定的視頻疊加窗口。要將畫中畫添加到您的應用中,您需要注冊支持畫中畫的 Activity、根據需要將 Activity 切換為畫中畫模式,并確保當 Activity 處于畫中畫模式時,界面元素處于隱藏狀態且視頻能夠繼續播放。

畫中畫窗口會顯示在屏幕的最上層,位于系統選擇的一角。您可以將畫中畫窗口拖動到其他位置。當您點按該窗口時,會看到兩個特殊的控件:全屏切換開關(位于窗口的中心)和關閉按鈕(右上角的“X”)。

您的應用會控制當前 Activity 在何時進入畫中畫模式。以下是一些示例:

Activity 可以在用戶點按主屏幕或最近使用的應用按鈕來選擇其他應用時,進入畫中畫模式。(這就是 Google 地圖在用戶同時運行其他 Activity 時繼續顯示方向的方式。) 您的應用可以在用戶從某個視頻返回以瀏覽其他內容時,將該視頻切換到畫中畫模式。 您的應用可以在用戶觀看到某集內容的結束時將視頻切換到畫中畫模式。主屏幕會顯示有關這部電視劇下一集的宣傳信息或劇情摘要信息。 您的應用可以提供一種方式,讓用戶可以在觀看視頻時將其他內容加入播放隊列。當主屏幕顯示內容選擇 Activity 時,視頻會繼續以畫中畫模式播放。聲明對畫中畫的支持

默認情況下,系統不會自動為應用提供畫中畫支持。要想在應用中支持畫中畫,您可以通過將 android:supportsPictureInPicture 和 android:resizeableActivity 設置為 true,在清單中注冊視頻 Activity。此外,指定您的 Activity 會處理布局配置更改,這樣一來,在畫中畫模式轉換期間發生布局更改時,您的 Activity 不會重新啟動。

<activity android:name='VideoActivity' android:resizeableActivity='true' android:supportsPictureInPicture='true' android:configChanges= 'screenSize|smallestScreenSize|screenLayout|orientation' ...將您的 Activity 切換到畫中畫模式

要進入畫中畫模式,Activity 必須調用 enterPictureInPictureMode()。例如,以下代碼會在用戶點擊應用界面中的專用按鈕時,將 Activity 切換到畫中畫模式:

@Override public void onActionClicked(Action action) { if (action.getId() == R.id.lb_control_picture_in_picture) { getActivity().enterPictureInPictureMode(); return; } ... }

您可能需要添加將 Activity 切換到畫中畫模式(而不是進入后臺)的邏輯。例如,如果用戶在 Google 地圖正在導航時按下主屏幕或最近使用的應用按鈕,則該應用會切換到畫中畫模式。您可以通過替換 onUserLeaveHint() 來具體了解這種情況:

@Override public void onUserLeaveHint () { if (iWantToBeInPipModeNow()) { enterPictureInPictureMode(); } }在畫中畫期間處理界面

當 Activity 進入或退出畫中畫模式時,系統會調用 Activity.onPictureInPictureModeChanged() 或 Fragment.onPictureInPictureModeChanged()。

您應替換這些回調以重新繪制 Activity 的界面元素。請注意,在畫中畫模式下,您的 Activity 會在一個小窗口中顯示。在畫中畫模式下,用戶可能看不清小界面元素的詳細信息,因此不會與這些界面元素互動。界面極簡的視頻播放 Activity 可提供出色的用戶體驗。Activity 應僅顯示視頻播放控件。在 Activity 進入畫中畫模式之前移除其他界面元素,并在 Activity 再次變為全屏時恢復這些元素:

@Override public void onPictureInPictureModeChanged (boolean isInPictureInPictureMode, Configuration newConfig) { if (isInPictureInPictureMode) { // Hide the full-screen UI (controls, etc.) while in picture-in-picture mode. } else { // Restore the full-screen UI. ... } }添加控件

畫中畫窗口會在用戶打開窗口菜單(通過點按移動設備上的窗口或使用電視遙控器選擇菜單)時顯示控件。

如果應用有一個活躍的媒體會話,則窗口會顯示播放、暫停、下一個和上一個控件。

您還可以通過在進入畫中畫模式之前構建 PictureInPictureParams(使用 PictureInPictureParams.Builder.setActions())來明確指定自定義操作,并使用 enterPictureInPictureMode(android.app.PictureInPictureParams) 或 setPictureInPictureParams(android.app.PictureInPictureParams) 在進入畫中畫模式時傳遞這些參數。請注意,如果您嘗試添加的控件數量超過 getMaxNumPictureInPictureActions(),則系統只會添加上限數量的控件。

在畫中畫模式下繼續播放視頻

當您的 Activity 切換到畫中畫模式時,系統會將該 Activity 置于暫停狀態并調用 Activity 的 onPause() 方法。如果該 Activity 在畫中畫模式下暫停,則視頻播放不得暫停,而應繼續播放。

在 Android 7.0 及更高版本中,當系統調用 Activity 的 onStop() 時,您應暫停視頻播放;當系統調用 Activity 的 onStart() 時,您應恢復視頻播放。這樣一來,您就無需在 onPause() 中檢查應用是否處于畫中畫模式,只需繼續播放視頻即可。

如果您必須在 onPause() 實現中暫停播放,請通過調用 isInPictureInPictureMode() 檢查畫中畫模式并相應地處理播放情況,例如:

@Override public void onPause() { // If called while in PIP mode, do not pause playback if (isInPictureInPictureMode()) { // Continue playback ... } else { // Use existing playback logic for paused Activity behavior. ... } }

當您的 Activity 從畫中畫模式切換回全屏模式時,系統會恢復您的 Activity 并調用 onResume() 方法。

對單個播放 Activity 使用畫中畫模式

在您的應用中,用戶可能會在主屏幕上瀏覽內容時選擇新的視頻,同時還有一個視頻播放 Activity 正處于畫中畫模式。應以全屏模式在現有的播放 Activity 中播放新的視頻,而不是啟動可能會令用戶感到困惑的新 Activity。

要確保將單個 Activity 用于視頻播放請求并根據需要進入或退出畫中畫模式,請在清單中將 Activity 的 android:launchMode 設置為 singleTask:

<activity android:name='VideoActivity' ... android:supportsPictureInPicture='true' android:launchMode='singleTask' ...

在您的 Activity 中,替換 onNewIntent() 并處理新的視頻,從而根據需要停止任何現有的視頻播放。

最佳做法

低內存設備可能無法使用畫中畫模式。在應用使用畫中畫之前,請務必通過調用 hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE) 進行檢查以確??梢允褂卯嬛挟嫛?/p>

畫中畫旨在用于播放全屏視頻的 Activity。將 Activity 切換到畫中畫模式時,請避免顯示視頻內容以外的任何內容。跟蹤您的 Activity 何時進入畫中畫模式及隱藏界面元素,如在畫中畫期間處理界面中所述。

由于畫中畫窗口在屏幕的一角顯示為浮動窗口,因此您應避免在主屏幕中可能被畫中畫窗口遮蓋的任何區域內顯示重要信息。

當 Activity 進入畫中畫模式后,它默認沒有獲得輸入焦點。要在畫中畫模式下接收輸入事件,請使用 MediaSession.setCallback()。如需詳細了解如何使用 setCallback(),請參閱顯示“正在播放”卡片。

當您的應用處于畫中畫模式時,畫中畫窗口中的視頻播放可能會對其他應用(例如,音樂播放器應用或語音搜索應用)造成音頻干擾。為避免出現此問題,請在開始播放視頻時請求音頻焦點,并處理音頻焦點更改通知,如管理音頻焦點中所述。如果您在處于畫中畫模式時收到音頻焦點丟失通知,請暫?;蛲V挂曨l播放。

到此這篇關于Android 畫中畫模式的實現示例的文章就介紹到這了,更多相關Android 畫中畫內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品中文字幕一区二区三区| 视频一区视频二区中文| 99久久婷婷| 在线中文字幕播放| 私拍精品福利视频在线一区| 日韩伦理在线一区| 四虎影视精品| 制服诱惑一区二区| 日韩黄色av| 精品日本视频| 欧美在线亚洲| 日韩不卡在线观看日韩不卡视频 | 国产成人久久精品一区二区三区| 丁香婷婷久久| 久久青草久久| 亚洲免费中文| 亚洲一区二区免费在线观看| 国产日本久久| 97精品视频在线看| 亚洲激情黄色| 欧美日韩一区二区三区不卡视频 | 国产一区二区久久久久| 美女在线视频一区| 丝袜诱惑一区二区| 亚洲精品一区二区在线看| 中文字幕免费一区二区| 里番精品3d一二三区| 久久久久久久久99精品大| 久久亚洲色图| 麻豆精品在线观看| 欧美va亚洲va日韩∨a综合色| 免费看的黄色欧美网站| 国产日韩欧美一区二区三区| 亚洲成av在线| 日韩精品视频中文字幕| 色欧美自拍视频| 久久国产精品亚洲77777| 日韩高清不卡在线| 欧美13videosex性极品| 欧美日本不卡高清| 蜜桃国内精品久久久久软件9| 日韩欧美三区| 久久蜜桃av| 国产精品一区二区三区四区在线观看| 久久久久久久久久久妇女| 欧美中文一区| 亚洲激情中文| 高清av一区| 亚洲欧美久久精品| 久久婷婷亚洲| 另类小说一区二区三区| 亚洲资源网站| 九一精品国产| 国产精品115| 久热精品在线| 午夜精品成人av| 国产日产高清欧美一区二区三区| 狠狠久久婷婷| 色乱码一区二区三区网站| 欧美在线日韩| 综合激情在线| 亚洲香蕉网站| 精品国产黄a∨片高清在线| 久久国产精品毛片| 人人香蕉久久| 国产精品成久久久久| 国产精品最新| 亚洲tv在线| 欧美日韩激情在线一区二区三区| 精品视频在线观看网站| 日韩av午夜在线观看| 国产亚洲亚洲| 国产二区精品| 国产va在线视频| 国产欧美88| 亚洲麻豆一区| 亚洲一区免费| 婷婷丁香综合| 久久久久中文| 亚洲涩涩在线| 中文字幕在线视频网站| 欧美黄页在线免费观看| 欧美精品国产一区| 视频一区中文字幕| 日韩一区精品视频| 日韩在线卡一卡二| 蜜臀av一区二区在线免费观看 | 国产精品视频一区视频二区| 青青国产91久久久久久| 亚洲精一区二区三区| 国产免费成人| 日韩精品一二区| 免费美女久久99| 在线精品福利| 日韩影院精彩在线| 亚洲无线观看| 一本一道久久a久久| 亚洲欧洲美洲国产香蕉| 日韩欧美三区| 国产精品一区二区三区四区在线观看 | 亚洲永久字幕| 国产农村妇女精品一二区| 欧美日韩精品一本二本三本| 欧美女激情福利| 免费人成在线不卡| 日韩高清一区在线| 久久成人av| 精品国内亚洲2022精品成人 | 国产一区二区亚洲| 国产亚洲一区二区手机在线观看| 色婷婷精品视频| 中文在线一区| 亚洲精品精选| 国产精品4hu.www| 日韩深夜视频| 在线午夜精品| 热久久久久久| 国产精品99一区二区三区| 久久中文亚洲字幕| 日韩专区一卡二卡| 欧美精品国产| 激情综合五月| 黑丝一区二区| 欧美日韩精品一区二区三区视频| 久久精品国产精品亚洲毛片| 国产精品福利在线观看播放| 欧美日韩国产高清电影| 亚洲精品美女| 精品中文在线| 9色精品在线| 国产激情久久| 美女少妇全过程你懂的久久| 少妇高潮一区二区三区99| 国产精品片aa在线观看| 日韩欧美三级| 性色av一区二区怡红| 日韩高清国产一区在线| 国产精品精品| 亚洲小说春色综合另类电影| 久久免费福利| 欧美午夜精彩| 亚洲涩涩av| 国产网站在线| 亚洲精品综合| 日韩一区电影| 奇米色欧美一区二区三区| 日韩网站中文字幕| 日韩一区精品| 亚洲成av在线| 国产亚洲久久| 免费国产自久久久久三四区久久| 日韩中文字幕| 91精品啪在线观看国产18| 日韩极品在线观看| 中文字幕人成乱码在线观看| 亚洲精品伊人| 久久久天天操| 国产精品一区二区三区美女| 99热免费精品| 久久一区国产| 日韩1区2区3区| 精品一区欧美| 国产成人久久精品麻豆二区| 美日韩精品视频| 亚洲女同av| 国产日产一区| 久久最新视频| 亚洲国产影院| 国产成人精品三级高清久久91| 日本欧洲一区二区| 欧美亚洲激情| 国产一区二区色噜噜| 日本一区二区三区中文字幕| 一区二区小说| 精品久久久网| 欧美欧美黄在线二区| 免费欧美日韩| 欧美日韩亚洲在线观看| 丁香婷婷久久| 国产精品欧美大片| 婷婷精品在线| 五月天久久777| 亚洲精品在线影院| 国模大尺度视频一区二区| 国产亚洲精aa在线看| 中文字幕中文字幕精品| 蜜桃国内精品久久久久软件9| 日韩免费视频| 精品国产免费人成网站| 美女av一区| 国产精品欧美日韩一区| 日本成人在线不卡视频| 亚洲三级毛片| 石原莉奈在线亚洲二区| 99国产精品自拍| 午夜欧美理论片| 欧美成人基地| 国产99久久| 香蕉人人精品| 欧美日韩国产传媒|