Android全面屏適配

由於現在遇到了app適配全面屏,就寫了這篇博客來解釋下怎樣來做到適配。

1、什麼是全面屏?

概念

很多人可能把全面屏跟曲面屏混淆,其實這是兩個不同的概念。

爲什麼先要解釋一下全面屏,因爲這個詞在現在來講就是一個僞命題。全面屏字面意思就是手機的正面全部都是屏幕,100%的屏佔比。但是現在推出所謂“全面屏”手機的廠商沒有一個能達到全面的。

那麼下面來說一下Android開發領域對全面屏的理解和定義吧。

一般手機的屏幕縱橫比爲16:9,如1080x1920、1440x2560等,其比值爲1.77,在全面屏手機出現之前,Android中默認的最大屏幕縱橫比(maximum aspect ratio)爲1.86,即能夠兼容16:9的屏幕。

一些手機廠商爲了追求更大的屏幕空間以及更極致的用戶體驗,於是提高了屏幕縱橫比,17:9、19:10、18:9、18.5:9的手機開始進入市場,這些手機的屏幕縱橫比大大超過了1.86,這些手機被稱爲全面屏手機。

一般手機的屏幕縱橫比爲16:9,如1080x1920、1440x2560等,其比值爲1.777777……,全面屏手機出現之前,Android中默認的最大屏幕縱橫比(maximum aspect ratio)爲1.86,即能夠兼容16:9的屏幕。

一些手機廠商爲了追求更大的屏幕空間以及更極致的用戶體驗,於是提高了屏幕縱橫比,17:9、19:10、18:9、18.5:9的手機開始進入市場,這些手機被稱爲全面屏手機。

2、爲何需要適配

 我們將targetSdkVersion的值改爲小於等於23,運行程序,我們會發現屏幕底部出現一個黑條。

3、如何適配

    

我在這裏直接寫解決方案:

測試手機 小米8  MIUI 9.5 Android code :8.1 API:27 分辨率 2248*1080

第一步:在Module級別app的Build.gradle中 查看當前targetSdkVersion的版本是多少 需要是>= 24 

第二步:

1.在AndroidManifest.xml 文件中 當前啓動Activtiy中加上一條屬性:android:resizeableActivity = “true” 或者

這個屬性是android 7.0之後,用來開啓分屏模式的開關,自動去適配了全面屏

2.加上<meta-data android:name = "android.max_aspect" android.value="2.1"/> 

這個2.1是怎麼來的呢,咱們通常所說的1920*1080的分辨率,屏幕比是16:9 也就是1920/1080=1.77777-->-->-->-->-->-->-->-->-->-->

我測試用的小米8的分辨率是2248*1080 屏幕比是19.5:9 也就是2248/1080=2.08 基本上這個數值已經涵蓋了目前,市面上的全面屏分辨率,不夠可以再加。

 

全面屏適配基本就是這樣,對全面屏適配還不是太瞭解,寫的不好的可以糾正。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章