亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android畫中畫窗口開啟方法

 更新時間:2023年01月04日 16:34:23   作者:知奕奕  
Android8.0 Oreo(API Level26)允許活動啟動畫中畫Picture-in-picture(PIP)模式。PIP是一種特殊類型的多窗口模式,主要用于視頻播放。PIP模式已經(jīng)可用于Android TV,而Android8.0則讓該功能可進(jìn)一步用于其他Android設(shè)備

基礎(chǔ)畫中畫

manifest 設(shè)置

為了適配開啟畫中畫狀態(tài)時窗口的大小尺寸變化合理,我們需要修改 activity 中的對應(yīng)屬性

請為您的主 activity 添加如下屬性

  • configChanges 當(dāng) activity 尺寸變化是走出適配
  • launchMode 若使用畫中畫,則必須單任務(wù)執(zhí)行
  • resizeableActivity 確保可以重新調(diào)節(jié) activity 尺寸
  • supportsPictureInPicture 開啟畫中畫支持
<activity
    android:name=".MainActivity"
    android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
    android:exported="true"
    android:launchMode="singleTask"
    android:resizeableActivity="true"
    android:supportsPictureInPicture="true">
    <meta-data
        android:name="android.app.lib_name"
        android:value="" />
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

布局

即一線性布局,配上 videoview,使他充滿整個屏幕寬高

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <VideoView
        android:id="@+id/video"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

開啟畫中畫

定義一個開啟畫中畫的方法 minimize

private fun minimize() {
    // 畫中畫builder
    var builder = PictureInPictureParams.Builder()
    // rational設(shè)定尺寸大小
    val info = Rational(video.width, video.height)
    builder.setAspectRatio(info).build()
    // 開啟畫中畫
    enterPictureInPictureMode(builder.build())
}

為了簡化使用,我們定義:在按下導(dǎo)航欄的 home 鍵時,整個 activity 縮小成畫中畫形式,并僅展示 videoview

這一步驟可以通過重寫 onUserLeaveHint 方法實現(xiàn)

override fun onUserLeaveHint() {
    minimize()
}

上傳一個你喜歡的視頻,插入組件,運行程序即可

目前還未做 UI 優(yōu)化,所以整體結(jié)構(gòu)還是很丑

到此這篇關(guān)于Android畫中畫窗口開啟方法的文章就介紹到這了,更多相關(guān)Android畫中畫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android Studio升級到3.0后遇到的坑

    Android Studio升級到3.0后遇到的坑

    自從谷歌發(fā)布Android Studio 3.0版本后,一直心向往之,終于抽時間做了下升級處理,現(xiàn)在把升級過程中遇到的一些問題以及解決方案分享給大家,希望對大家能給有事幫助
    2017-11-11
  • android studio集成unity導(dǎo)出工程的實現(xiàn)

    android studio集成unity導(dǎo)出工程的實現(xiàn)

    本文主要介紹了android studio集成unity導(dǎo)出工程的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Android SDK在線更新鏡像服務(wù)器大全

    Android SDK在線更新鏡像服務(wù)器大全

    由于一些原因,Google相關(guān)很多服務(wù)都無法訪問,所以在很多時候我們SDK也無法升級,當(dāng)然通過技術(shù)手段肯定可以解決,但是比較麻煩,而且下載速度也不怎么樣
    2015-10-10
  • JSON解析和XML解析區(qū)別對比

    JSON解析和XML解析區(qū)別對比

    JSON解析和XML解析是較為普遍的兩種解析方式,其中JSON解析的市場分額更大。這篇文章主要介紹了JSON解析和XML解析區(qū)別對比,需要的朋友可以參考下
    2016-10-10
  • android通過usb讀取U盤的方法

    android通過usb讀取U盤的方法

    這篇文章主要為大家詳細(xì)介紹了android通過usb讀取U盤的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android如何使用Flow封裝一個FlowBus工具類

    Android如何使用Flow封裝一個FlowBus工具類

    本文介紹了如何在Android中使用Flow封裝一個FlowBus工具類,以替代EvenutBus、Rxbus、LiveDataBus、LiveData等第三方依賴包,作者提供了在Activity、Fragment、Service和Websock中使用FlowBus的具體代碼,并解釋了實現(xiàn)的效果,文章最后還提供了項目demo源碼的下載鏈接
    2024-09-09
  • android中GridView實現(xiàn)點擊查看更多功能示例

    android中GridView實現(xiàn)點擊查看更多功能示例

    本篇文章主要介紹了android中GridView實現(xiàn)點擊查看更多功能示例,非常具有實用價值,需要的朋友可以參考下。
    2017-02-02
  • Android在啟動adb時失敗解決方案

    Android在啟動adb時失敗解決方案

    這篇文章主要介紹了Android在啟動adb時失敗解決方案的相關(guān)資料,需要的朋友可以參考下
    2015-02-02
  • 基于Android實現(xiàn)點擊某個按鈕讓菜單選項從按鈕周圍指定位置彈出

    基于Android實現(xiàn)點擊某個按鈕讓菜單選項從按鈕周圍指定位置彈出

    這篇文章主要介紹了基于Android實現(xiàn)點擊某個按鈕讓菜單選項從按鈕周圍指定位置彈出的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • Android 判斷是否能真正上網(wǎng)的實例詳解

    Android 判斷是否能真正上網(wǎng)的實例詳解

    這篇文章主要介紹了Android 判斷是否能真正上網(wǎng)的實例詳解相關(guān)資料,希望通過本文大家能夠掌握判斷是否上網(wǎng)的方法,需要的朋友可以參考下
    2017-10-10

最新評論