最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android全面屏與異形(劉海)屏的適配教程

 更新時間:2018年07月04日 11:45:34   作者:惜夢哥哥_  
Apple一直在引領設計的潮流,自從 iPhone X 發(fā)布之后,各種異形屏、劉海屏也都出來,下面這篇文章主要給大家分享介紹了關于Android全面屏與異形(劉海)屏的適配教程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

寫在前面

Android全面屏的手機越來越多了,要開始考慮應用適配全面屏的問題了,查了查相關文章,總結一下.

聲明最大屏幕寬高比

以上圖片來自Google Developer

通過文檔可以看出從Android7.0開始,應用的多窗口模式默認變?yōu)閱?在多窗口模式下,默認已經(jīng)進行了全面屏適配,如果我們不想應用在多窗口模式下運行,可以修改以下屬性:

android:resizeableActivity="false"

此時,我們可以手動進行設置最大屏幕寬高比:

android8.0及以上:

<activity android:maxAspectRatio="2.4">
 ...
</activity>

android7.1及以下版本:

<meta-data android:name="android.max_aspect" android:value="2.4" />

需要注意的是,如果手動進行設置了最大寬高比,一定要將多窗口模式設置為false,否則不生效.

劉海屏

劉海屏適配分為全屏已適配劉海屏,全屏未適配劉海屏和非全屏頁面,

非全屏頁面

非全屏頁面即有狀態(tài)欄顯示的頁面,截止目前,基本上所有的劉海都只存在于狀態(tài)欄,所以非全屏頁面無需我們進行適配,系統(tǒng)會自動進行適配.


非全面屏

因為劉海也是黑色的,所以看上去沒有效果.

全屏未適配劉海屏頁面

全屏界面未適配劉海時,不能使用劉海區(qū)域,所以會出現(xiàn)出圖所示效果,嚴重時可能會將底部控件頂下去,為了解決這個問題,需要對其進行適配


全屏未適配劉海屏頁面

全屏適配劉海屏頁面

通過查看WindowManager的源碼可以看到共有3種顯示模式,:

 //默認情況,全屏頁面不可用劉海區(qū)域,非全屏頁面可以進行使用
 public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT = 0;
 //不允許使用劉海區(qū)域
 public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER = 2;
 //允許頁面延伸到劉海區(qū)域
 public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES = 1;

官方對于這三種模式的解釋:


通過查看上面的文檔,則可以進行全屏界面的適配:

 var lp = window.attributes
 lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
 window.attributes = lp

全屏適配劉海屏頁面

以上方案是Google官方的適配方案,部分廠商并未使用此方案,而是使用自家API進行全面屏適配,詳情可以查看各手機廠商官方文檔.

OPPO:https://open.oppomobile.com/wiki/doc#id=10159

VIVO:https://dev.vivo.com.cn/doc/document/info?id=103

HUAWEI:https://mini.eastday.com/bdmip/180411011257629.html

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Flutter 全局點擊空白處隱藏鍵盤實戰(zhàn)

    Flutter 全局點擊空白處隱藏鍵盤實戰(zhàn)

    這篇文章主要介紹了Flutter 全局點擊空白處隱藏鍵盤實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Eclipse搭建Android開發(fā)環(huán)境(安裝ADT,Android4.4.2)

    Eclipse搭建Android開發(fā)環(huán)境(安裝ADT,Android4.4.2)

    這篇文章主要介紹了Eclipse搭建Android開發(fā)環(huán)境(安裝ADT,Android4.4.2),有興趣的可以了解一下。
    2016-11-11
  • Android開發(fā)中關于獲取當前Activity的一些思考

    Android開發(fā)中關于獲取當前Activity的一些思考

    這篇文章主要為大家詳細介紹了Android開發(fā)過程中,關于獲取當前Activity的一些思考,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Android調用google地圖生成路線圖實現(xiàn)代碼

    Android調用google地圖生成路線圖實現(xiàn)代碼

    Android程序調用本機google地圖并且傳遞起始和終點位置生成路線圖,有需要的朋有可以參考下,或許本文對你有所幫助,好了話不多說,看代碼
    2013-02-02
  • Flutter集成到已有iOS工程的方法步驟

    Flutter集成到已有iOS工程的方法步驟

    這篇文章主要介紹了Flutter集成到已有iOS工程的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • android控制密碼顯示與隱藏的方法

    android控制密碼顯示與隱藏的方法

    這篇文章主要為大家詳細介紹了android控制密碼顯示與隱藏的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android中一種效果奇好的混音方法詳解

    Android中一種效果奇好的混音方法詳解

    這篇文章主要給大家介紹了關于在Android中一種效果奇好的混音方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • Android判斷服務是否運行及定位問題實例分析

    Android判斷服務是否運行及定位問題實例分析

    這篇文章主要介紹了Android判斷服務是否運行及定位問題,以實例形式較為詳細的分析了Android判斷服務運行狀態(tài)及獲取經(jīng)緯度的相關實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • android實現(xiàn)底部導航欄

    android實現(xiàn)底部導航欄

    這篇文章主要為大家詳細介紹了android實現(xiàn)底部導航欄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android自定義流式布局實現(xiàn)淘寶搜索記錄

    Android自定義流式布局實現(xiàn)淘寶搜索記錄

    這篇文章主要為大家詳細介紹了Android自定義流式布局實現(xiàn)淘寶搜索記錄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10

最新評論

西贡区| 通州区| 石河子市| 崇信县| 汝南县| 娱乐| 民权县| 旬阳县| 富川| 浦城县| 双牌县| 江源县| 交城县| 扬中市| 塔河县| 平顶山市| 九龙坡区| 双峰县| 松原市| 大化| 襄垣县| 黔南| 巩留县| 墨竹工卡县| 正阳县| 定远县| 华阴市| 普兰县| 田东县| 邓州市| 临沂市| 门头沟区| 县级市| 汉寿县| 烟台市| 托克托县| 平山县| 米易县| 当阳市| 大埔区| 牡丹江市|