Android N多視窗支持

来源:http://www.cnblogs.com/yishaochu/archive/2017/05/15/6858269.html
-Advertisement-
Play Games

Android N 可以同時顯示多個應用視窗。 在手機上,兩個應用可以在“分屏”模式中左右併排或上下併排顯示。例如,用戶可以 在上面視窗聊QQ,下麵視窗發送簡訊。 如圖所示,兩個app在分屏模式中上下顯示: 如何讓你的app支持多視窗? 如果你的app支持Adnroid N,在AndroidMani ...


Android N 可以同時顯示多個應用視窗。 在手機上,兩個應用可以在“分屏”模式中左右併排或上下併排顯示。例如,用戶可以 在上面視窗聊QQ,下麵視窗發送簡訊。

如圖所示,兩個app在分屏模式中上下顯示:
MultiWindow

如何讓你的app支持多視窗?

如果你的app支持Adnroid N,在AndroidManifest.xml文件中對

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

如果這個屬性的值為true,Activity能分屏和自由模式啟動,如果這個屬性的值為false,Activity不支持多視窗模式。

如果你的app支持Adnroid N,但是沒有對該屬性設置值。則該屬性的值預設為true。也就是預設支持多視窗模式。

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

  • 若用戶打開 Overview 屏幕並長按 Activity 標題,則可以拖動該 Activity 至屏幕突出顯示的區域,使 Activity 進入多視窗模式。
  • 若用戶長按 Overview 按鈕,設備上的當前 Activity 將進入多視窗模式,同時將打開 Overview 屏幕,用戶可在該屏幕中選擇要共用屏幕的另一個 Activity。

多視窗生命周期

多視窗模式不會更改 Activity 生命周期。

在多視窗模式中,在指定時間只有最近與用戶交互過的 Activity 為活動狀態。 該 Activity 將被視為頂級 Activity。 所有其他 Activity 雖然可見,但均處於暫停狀態。 但是,這些已暫停但可見的 Activity 在系統中享有比不可見 Activity 更高的優先順序。 如果用戶與其中一個暫停的 Activity 交互,該 Activity 將恢復,而之前的頂級 Activity 將暫停。

多視窗模式下的佈局屬性

對於 Android N,可以在activity標簽中設置

  • android:defaultWidth 多視窗模式下的預設寬度。
  • android:defaultHeight 多視窗模式下的預設高度。
  • android:gravity 多視窗模式下的初始位置。
  • android:minimalHeight、android:minimalWidth 多視窗模式下的最小高度和最小寬度。如果用戶在分屏模式中移動分界線,使 Activity 尺寸低於指定的最小值,系統會將 Activity 裁剪為用戶請求的尺寸。

例如,以下配置如何指定 Activity 在多視窗模式中顯示時 Activity 的預設大小、位置和最小尺寸:

<activity android:name=".MyActivity">
    <layout android:defaultHeight="500dp"
          android:defaultWidth="600dp"
          android:gravity="top|end"
          android:minimalHeight="450dp"
          android:minimalWidth="300dp" />
</activity>

多視窗變更通知和查詢

Activity 類中添加了以下新方法,以支持多視窗顯示。

Activity.isInMultiWindowMode()  判斷是否處於多視窗模式
Activity.onMultiWindowModeChanged()  進入或退出多視窗模式時會回調這個方法。 

其實多視窗在工作中應該使用的機會不大,畢竟手機屏幕比較小,分屏都看不到什麼界面了。不過作為開發者我們有必要去瞭解一下Android 7.0更新了什麼。

源碼下載

Android N多視窗


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首頁中點擊城市TextView調轉到當前城市選擇Activity fragment_city.xml ...
  • 一 fragment_home.xml 二 home_head_page.xml banner 兩頁Bar標誌 熱門電影三個作為一體addHeaderView(headView) 進RefreshListView 三 GoodsListAdapter: 1.SimpleDraweeView實現圓角圖 ...
  • 引言 在項目中,為了使用GreenDAO的自動生成DAO class的功能,我們必須建立entity,該entity通過java註解標識。 Schema是資料庫對象集合,我們可以通過gradle插件配置GreenDAO,除此之外,我們至少需要配置Schema的版本: 我們不僅可以配置schemaVe ...
  • 2017-05-15 概述 Dialog在Android中是一個很優秀的工具。在使用Dialog時,我們一般都會自定義要顯示的內容佈局。Dialog自帶了三個方法來支持自定義內容佈局。 這三個方法內部的實現原理都是一樣的,只是其封裝深度不同而已。三個方法可以說分別照顧了不同定製深度的開發者。 set ...
  • 文章參考自:http://www.runoob.com/w3cnote/android-tutorial-edittext.html 6.控制EditText四周的間隔距離與內部文字與邊框間的距離 我們使用margin相關屬性增加組件相對其他控制項的距離,比如android:marginTop = " ...
  • 轉載請註明:http://www.cnblogs.com/igoslly/p/6858656.html 初步設置Menu 設置Menu,在ActionBar上添加按鈕操作: 在main/res目錄下添加menu文件夾,創建main.xml文件 showAsAction屬性共有五個值:ifRoom、n ...
  • fragment_shoppingcart.xml 1、採用自定義技術實現購物車的加減號; 2、採用CartStorage實現購物車業務的處理; 3、採用popupwindow實現購物車的對話框 4、實現聯繫客服功能; 5、採用Html5和Android互調技術實現詳情頁面; 6、集成支付寶支付功能 ...
  • fragment_user.xml 1、標題頭採用GradationTitleBar實現仿QQ空間標題欄漸變效果; ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...