最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
怎么在Android7.0中實現(xiàn)一個多窗口分屏模式

本篇文章給大家分享的是有關(guān)怎么在 Android 7.0中實現(xiàn)一個多窗口分屏模式,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

長治網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

分屏模式的適配

若項目的 targetSDKVersion 大于等于24,那么可以在 AndroidManifest.xml 文件的 Application 或 Activity 節(jié)點通過設(shè)置 android:resizeableActivity=["true" | "false"] 來控制整個 APP 或某個 Activity 是否支持分屏。該屬性的默認(rèn)值是 true ,也就是說,如果不設(shè)置該屬性,在支持分屏的設(shè)備上,默認(rèn)是可以分屏的。

若項目的 targetSDKVersion 小于24,那么運行在支持分屏的設(shè)備上,默認(rèn)可以分屏。這時如果需要禁止分屏,需要在 AndroidManifest.xml 文件的 Application 或 Activity 節(jié)點設(shè)置 android:screenOrientation 屬性來控制整個 APP 或 某個 Activity 的屏幕方向,從而控制整個 APP 或某個 Activity 禁止分屏。

分屏模式的監(jiān)聽

能不能在代碼中監(jiān)聽 APP 是否進(jìn)入分屏模式呢?答案是能。由于 APP 在分屏模式發(fā)生改變時會執(zhí)行 onMultiWindowModeChanged 方法,因此我們在 Activity 中重寫這個方法就可以實現(xiàn)分屏的監(jiān)聽了。

@Override
 public void onMultiWindowModeChanged(boolean isInMultiWindowMode) {
  super.onMultiWindowModeChanged(isInMultiWindowMode);
  // 判斷當(dāng)前是否為分屏模式
  if (isInMultiWindowMode) {
   // 已進(jìn)入分屏模式
  } else {
   // 未進(jìn)入分屏模式
  }
 }

分屏模式下的生命周期

需要注意的是:進(jìn)入和退出分屏模式時,Activity 的生命周期。

進(jìn)入分屏模式時,Activity 的生命周期:

onPause()->onStop()->onMultiWindowModeChanged()->onDestroy()->onCreate()->onStart()->onResume()->onPause()

退出分屏模式時,Activity 的生命周期:

onStop()->onDestroy()->onCreate()->onStart()->onResume()->onPause()->onMultiWindowModeChanged()->onResume()

可以看出,在進(jìn)入分屏模式時,Activity 先執(zhí)行 onMultiWindowModeChanged 方法,再重建自己。在退出分屏模式時,Activity 先重建自己,再執(zhí)行 onMultiWindowModeChanged 方法。

這樣呢會有一個問題,我們的 APP 進(jìn)入分屏模式時,在 onMultiWindowModeChanged 方法中如果有對 UI 等的操作,經(jīng)過之后的自動重建就沒有效果了。為了防止這種情況,需要在 AndroidManifest.xml 的 Activity 節(jié)點設(shè)置以下屬性:

android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"

設(shè)置了這個屬性,在進(jìn)入分屏模式時,Activity 就不會自動重建了。

分屏模式的判斷

我們可以通過 Activity 的 isInMultiWindowMode() 方法獲取當(dāng)前是否進(jìn)入分屏模式,該方法返回 true 表示當(dāng)前已進(jìn)入分屏模式,返回 false 則表示當(dāng)前未進(jìn)入分屏模式。

if (isInMultiWindowMode()) {
  // 已進(jìn)入分屏模式
 } else {
  // 未進(jìn)入分屏模式
 }

分屏模式下打開 Activity

如果 APP 在分屏模式下打開 Activity 時,為 Intent 設(shè)置了 Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT 和 Intent.FLAG_ACTIVITY_NEW_TASK 標(biāo)志,那么新打開的 Activity 將顯示在當(dāng)前 APP 的另一側(cè)。例如下面的代碼:

Intent intent = new Intent(this, NewActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT|Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(intent);

以上就是怎么在 Android 7.0中實現(xiàn)一個多窗口分屏模式,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


標(biāo)題名稱:怎么在Android7.0中實現(xiàn)一個多窗口分屏模式
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/jcdsge.html