自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android 8.0 Oreo 畫中畫模式

企業(yè)動(dòng)態(tài)
Android 8.0 Oreo(API Level 26)允許活動(dòng)啟動(dòng)畫中畫 Picture-in-picture(PIP)模式。PIP 是一種特殊類型的多窗口模式,主要用于視頻播放。PIP 模式已經(jīng)可用于 Android TV,而 Android 8.0 則讓該功能可進(jìn)一步用于其他 Android 設(shè)備。

Android 8.0 Oreo 畫中畫模式

Android 8.0 Oreo(API Level 26)允許活動(dòng)啟動(dòng)畫中畫 Picture-in-picture(PIP)模式。PIP 是一種特殊類型的多窗口模式,主要用于視頻播放。PIP 模式已經(jīng)可用于 Android TV,而 Android 8.0 則讓該功能可進(jìn)一步用于其他 Android 設(shè)備。

畫中畫 Picture-in-picture(PIP)模式

當(dāng)一個(gè)活動(dòng)在畫中畫模式,它處于暫停狀態(tài),但應(yīng)繼續(xù)展示內(nèi)容。出于這個(gè)原因,您應(yīng)該確保您的應(yīng)用程序不在的 onpause ( ) 中處理暫停播放。相反,您應(yīng)該在 onstop ( ) 暫停播放·,在onstart ( ) 中繼續(xù)播放。

指定您的活動(dòng)可以使用畫中畫模式

從 Android 8.0 開始,如果您支持畫中畫模式,您不需要在 Manifest 中設(shè) android:resizeableActivity 為 true,您只需要在其他多窗口模式中設(shè)置 android:resizeableActivity

Android 8.0(API Level 26)引入了一個(gè)新的對(duì)象 PictureInPictureParams,您通過畫中畫方法指定一個(gè)活動(dòng)應(yīng)該表現(xiàn)的畫中畫模式。該對(duì)象指定性能例如***縱橫比。

現(xiàn)在不僅僅是在 Android TV 上,還可以在所有 Android 設(shè)備上使用 “添加畫中畫” 中描述的現(xiàn)有 PIP 方法。此外,Android 8.0 還提供以下方法來支持 PIP 模式:

  • Activity.enterPictureInPictureMode (PictureInPictureParams args) : 將活動(dòng)放在畫中畫模式中。在 args 中指定活動(dòng)的寬高比和其他配置設(shè)置。如果 args 中的任何字段為空,系統(tǒng)將使用您上次調(diào)用的 Activity.setPictureInPictureParams ( ) 。指定的活動(dòng)被放置在屏幕的一個(gè)角落;屏幕的其余部分都填充了屏幕上的先前活動(dòng)。進(jìn)入畫中畫模式的活動(dòng)進(jìn)入暫停狀態(tài),但仍保持啟動(dòng)狀態(tài)。 如果用戶點(diǎn)擊畫中畫活動(dòng),則系統(tǒng)顯示給用戶交互菜單,在畫中畫模式中,沒有任何觸摸操作可以回到活動(dòng)。
  • Activity.setPictureInPictureParams ( ) : 更新活動(dòng)的畫中畫配置。 如果活動(dòng)當(dāng)前處于畫中畫模式,這時(shí)將會(huì)更新,這在活動(dòng)比發(fā)生變化的時(shí)候是很有用的。 如果活動(dòng)不在畫中畫模式中,這些設(shè)置不管您是否調(diào)用了 enterPictureInPictureMode ( ) 方法,它都會(huì)生效。

Android 多窗口支持

兩個(gè)應(yīng)用在分屏模式中左右并排顯示

△ 兩個(gè)應(yīng)用在分屏模式中左右并排顯示

從 Android 7.0 Nougat 開始,Android 允許多個(gè)應(yīng)用同時(shí)共享屏幕。例如:用戶可以分屏顯示應(yīng)用,在左邊查看網(wǎng)頁(yè),同時(shí)在右邊寫郵件。 這些功能取決于:

  • 運(yùn)行 Android 設(shè)備具有分屏模式。 在此模式中,系統(tǒng)以左右并排或上下并排的方式分屏顯示兩個(gè)應(yīng)用。 用戶可以拖動(dòng)兩個(gè)應(yīng)用之間的分界線,放大其中一個(gè)應(yīng)用,同時(shí)縮小另一個(gè)。
  • 在運(yùn)行 Android 的 Nexus Player 上,應(yīng)用能以畫中畫模式顯示,即在用戶瀏覽網(wǎng)頁(yè)或與其他應(yīng)用交互的同時(shí)繼續(xù)顯示內(nèi)容。
  • 較大設(shè)備的制造商可選擇啟用自由形狀模式,在該模式中,用戶可以自由調(diào)整各 Activity 的尺寸。 若制造商啟用此功能,設(shè)備將同時(shí)具有自由形狀模式和分屏模式。

用戶可以通過以下方式切換到多窗口模式:

  • 若用戶打開 Overview 屏幕并長(zhǎng)按 Activity 標(biāo)題,則可以拖動(dòng)該 Activity 至屏幕突出顯示的區(qū)域,使 Activity 進(jìn)入多窗口模式。
  • 若用戶長(zhǎng)按 Overview 按鈕,設(shè)備上的當(dāng)前 Activity 將進(jìn)入多窗口模式,同時(shí)將打開 Overview 屏幕,用戶可在該屏幕中選擇要共享屏幕的另一個(gè) Activity。

用戶可以在兩個(gè) Activity 共享屏幕的同時(shí)在這兩個(gè) Activity 之間拖放數(shù)據(jù) (在此之前,用戶只能在一個(gè) Activity 內(nèi)部拖放數(shù)據(jù))。

針對(duì)多窗口模式配置應(yīng)用

您可以對(duì)應(yīng)用的 Activity 是否支持多窗口顯示和顯示方式進(jìn)行配置。 您可以在 Manifest 文件中設(shè)置屬性,以控制大小和布局。 根 Activity 的屬性設(shè)置適用于其任務(wù)棧中的所有 Activity。 例如:如果根 Activity 已 android:resizeableActivity 設(shè)定為 true,則任務(wù)棧中的所有 Activity 都將可以調(diào)整大小。

android:resizeableActivity

在 Manifest 的 節(jié)點(diǎn)中設(shè)置該屬性,啟用或禁用多窗口顯示:

  1. android:resizeableActivity=["true" | "false"] 

如果該屬性設(shè)置為 true,Activity 將能以分屏和自由形狀模式啟動(dòng)。 如果此屬性設(shè)置為 false,Activity 將不支持多窗口模式。 如果該值為 false,且用戶嘗試在多窗口模式下啟動(dòng) Activity,該 Activity 將全屏顯示。

多窗口模式中被禁用的功能

在設(shè)備處于多窗口模式中時(shí),某些功能會(huì)被禁用或忽略,因?yàn)檫@些功能對(duì)與其他 Activity 或應(yīng)用共享設(shè)備屏幕的 Activity 而言沒有意義。 此類功能包括:

  • 某些系統(tǒng) UI 自定義選項(xiàng)將被禁用;例如:在非全屏模式中,應(yīng)用無法隱藏狀態(tài)欄。
  • 系統(tǒng)將忽略對(duì) android:screenOrientation 屬性所作的更改。

布局屬性

<layout>清單元素支持以下幾種屬性,這些屬性影響 Activity 在多窗口模式中的行為:

(1)android:defaultWidth

以自由形狀模式啟動(dòng)時(shí) Activity 的默認(rèn)寬度。

(2)android:defaultHeight

以自由形狀模式啟動(dòng)時(shí) Activity 的默認(rèn)高度。

(3)android:gravity

以自由形狀模式啟動(dòng)時(shí) Activity 的初始位置。

(4)android:minimalHeight、android:minimalWidth

分屏和自由形狀模式中 Activity 的最小高度和最小寬度。 如果用戶在分屏模式中移動(dòng)分界線,使 Activity 尺寸低于指定的最小值,系統(tǒng)會(huì)將 Activity 裁剪為用戶請(qǐng)求的尺寸。

例如:以下節(jié)點(diǎn)顯示了如何指定 Activity 在自由形狀模式中顯示時(shí) Activity 的默認(rèn)大小、位置和最小尺寸:

  1. <activity android:name=".MyActivity"> 
  2.     <layout android:defaultHeight="500dp" 
  3.           android:defaultWidth="600dp" 
  4.           android:gravity="top|end" 
  5.           android:minimalHeight="450dp" 
  6.           android:minimalWidth="300dp" /> 
  7. </activity> 

[[204032]]

以上就是 Android 畫中畫和多窗口功能的全部?jī)?nèi)容,如果您有其他的 Android 8.0 Oreo 兼容性的問題,我們非常感謝您在留言板里提出。 如果您覺得文章對(duì)身邊的人有幫助,就動(dòng)手轉(zhuǎn)發(fā)吧,讓更多的人關(guān)注我們并提出意見。

【本文是51CTO專欄機(jī)構(gòu)“谷歌開發(fā)者”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者(微信公眾號(hào):Google_Developers)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2022-10-13 14:28:40

Brave瀏覽器畫中畫

2022-01-24 17:37:36

Chrome谷歌畫中畫

2021-09-19 11:15:26

Edge 93瀏覽器畫中畫

2021-03-19 07:07:03

Android 12Android系統(tǒng)谷歌

2021-12-09 11:59:27

Firefox 95瀏覽器畫中畫

2021-08-05 11:54:24

微軟Edge瀏覽器

2021-03-18 08:50:06

谷歌Android 12

2021-02-25 17:20:27

火狐瀏覽器Firefox 86瀏覽器

2021-02-24 09:10:53

Firefox 86AVIFLinux

2015-07-14 17:21:19

IOS 9分屏

2012-05-25 15:17:34

掃描儀評(píng)測(cè)

2012-05-17 16:34:28

思亞諾美滿電子

2023-05-11 17:44:20

2023-04-12 07:20:31

Windows 11安卓子系統(tǒng)

2023-03-08 16:35:07

Chrome瀏覽器

2021-08-05 11:00:17

微軟Edge瀏覽器

2023-02-03 14:21:19

Chrome瀏覽器

2023-07-10 06:18:28

Windows 11微軟

2023-07-21 07:23:15

Windows 11微軟

2020-06-23 16:45:36

iOS 14蘋果WWDC2020
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)