[英]Minimizimg an activity in previous activities in android
我正在開發一個支持即時消息的視頻通話組件。 我想添加一個選項,在按下后最小化視頻通話屏幕並返回消息activity
以同時執行這兩項操作(類似於 WhatsApp 的功能)。 問題是,我找不到解決方案,因為返回上一個activity
將完成當前activity
。 那么如何override
我的onBackpressed()
以便我可以最小化而不是完成呼叫屏幕activity
(假設將其添加到通知中)並返回到消息activity
?
你想要做的是所謂的畫中畫。
Android 8.0(API 級別 26)允許活動以畫中畫 (PIP) 模式啟動。 PIP 是一種特殊類型的多窗口模式,主要用於視頻播放。 它允許用戶在固定在屏幕一角的小窗口中觀看視頻,同時在應用程序之間導航或瀏覽主屏幕上的內容。
一個非常簡約的例子:
1)在您的AndroidManifest
文件中指定哪個活動支持 PIP:
<activity
android:name=".VideoActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:resizeableActivity="true"
android:supportsPictureInPicture="true"/>
2)觸發 PIP 模式以響應某些用戶操作,例如在onBackPressed()
:
override fun onBackPressed() {
// Ideally you would want to enter PIP while a video is playing, so:
val isVideoPlaying = // have a condition here that holds true while the video is playing
if (isVideoPlaying) {
enterPictureInPictureMode()
} else {
super.onBackPressed()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.