android屏幕解析度
『壹』 android 屏幕適配基礎知識
最近參考 今日頭條演算法 ,優化了項目的屏幕適配策略。下面是適配過程中的一些心得,部分內容來源於網路。
舉個例子:屏幕解析度為:1920*1080,屏幕尺寸為5吋的話,那麼dpi為440。
dp就是密度自適應的像素。1dp表示 在dpi為160的設備上的一顆像素
px與dp的換算公式px = dp * (dpi / 160),很顯然,由於相同解析度但不同屏幕大小的設備dpi是不同的,導致px和dp的基本不存在一個固定的換算關系,為了方便屏幕適配,Android設置了6個通用的密度,換算px與dp時採取通用密度計算,而非設備實際的密度。
以下為6種通用密度,以及其最小的解析度
得到上面通用密度之後,我們換算dp與px多了一種簡便方式。Android系統用mdpi(160dpi)作為基準,此時1px = 1dp,又有px = dp * (dpi / 160),所以我們可以很容易的得到以下換算:
sp在dp的基礎上引入了scaleFactor變數,一般用於字型大小,可在系統設置里調大。
同一張圖片放到以上4個解析度類型的文件夾里,在頁面上呈現的效果如下
實際呈現的演算法為: 圖片尺寸 * 系統density / 文件夾 density
因為圖片尺寸、系統density都是固定的,因此圖片最終尺寸表現為: 圖片放的位置越"low",呈現的尺寸越大
比如 圖片寬度200px,系統 density =3,則圖片寬度
下面是詳細的解釋
我們知道,不管在布局文件中填寫的是什麼單位,它最後都會被系統轉化為 px。系統的轉換演算法如下:
可以看到 px = dp*density 。
橫向適配的最終目的:讓100dp的寬度,在各個機型上,在屏幕上所佔的 比例相同 。
其核心演算法是px = dp* density。通過修改density這個變數,我們可以讓px和畫布標注的px值一致,達到適配的效果。
美工同學提供的畫布寬度為 750px(iphone6) ,開發中,我們對這些px標注 除2 得到dp值進行使用。
那麼density如何求出呢? 根據系統演算法px = dp*density,反推 density =px/dp
拿橫向適配畫布, density對於不同解析度的手機修改後如下:
375是我們拿UI畫布橫向解析度750/2得出。
『貳』 安卓11屏幕解析度在哪設置
方法如下:
1.第一步,點擊進入手機桌面上的「設置」
2.第二步,選擇「顯示」選項,進入「顯示」界面。
3.第三步,找到「屏幕解析度」選項,點擊進入。
4.第四步,可以開啟「智能解析度」開關,它會根據需要自動降低解析度,有助於省電。
5.第五步,或者在自定義解析度中切換成HD+或者FHD+
6.以上這些步驟就完成了所有操作。
『叄』 安卓手機屏幕解析度怎麼調整
安卓手機屏幕解析度調整方法:
首先手機必須獲得ROOT許可權,接著你需要確定手機的顯示density和解析度,desity的意思就是密度,在安卓系統中,desity是一個非常重要的顯示參數。如果density設置不當,比如density設置過高,可能會使字體和其他一些UI顯示得很小,而如果高分屏設置density過低,也可能會使字體和其他UI顯得過大,甚至影響App兼容。
『肆』 android手機主流屏幕解析度是多少
主要是1080P,即解析度為1920*1080。也有部分手機上到2K,即2560*1440
這個主要看屏幕材質
lcd的話1080p顯示是沒有什麼大的問題的,也有部分高端手機上2K屏幕,顯示更加細膩
oled的屏幕尤其是amoled的屏幕在1080P的解析度下由於像素點排列原因在顯示字體的時候會有彩邊現象,但是在2K解析度下彩邊現象就會好很多,基本可以忽略不計,所以采購屏幕材質為amoled的手機的時候最好采購2k解析度的。
此外還有一個個例就是索尼,它在自己旗艦機Xperia Z5 Premiu和Xperia XZ Premium上面使用了4K解析度的顯示屏,顯示效果更加細膩。
最後還是提醒一點,手機解析度越高手機的耗電就越高,謹慎購買超高解析度的手機。
『伍』 手機解析度怎麼調 安卓手機修改屏幕解析度教程
方法如下:
1、以華為P10為例,打開手機「設置」應用;如圖所示
https://imgcdn.idongde.com/qa/2020/06/24/10/1592964532860497
2、接下來在設置界面選擇「顯示」選項;如圖所示
https://imgcdn.idongde.com/qa/2020/06/24/10/1592964532945234
3、接下來在顯示界面選擇「屏幕解析度」選項;如圖所示
https://imgcdn.idongde.com/qa/2020/06/24/10/1592964533199567
4、接下來在屏幕解析度界專面取消勾選「智能解析度」選項;如圖所示
https://imgcdn.idongde.com/qa/2020/06/24/10/1592964533504342
5、這時可以看到默認解析度變成了「FHD」的清晰屬度;如圖所示
https://imgcdn.idongde.com/qa/2020/06/24/10/1592964533566181
6、接下來選擇想要設置的解析度,設置好以後屏幕解析度就調好了;如圖所示
https://imgcdn.idongde.com/qa/2020/06/24/10/1592964534682757
(5)android屏幕解析度擴展閱讀:
解析度160×128表示水平方向含有像素數為160個,垂直方向像素數128個。屏幕尺寸一樣的情況下,解析度越高,顯示效果就越精細和細膩。
一塊方形的屏幕橫向有多少個點,豎向有多少個點,相乘之後的數值就是這塊屏幕的像素(數碼相機的像素也是這么乘積出來的)。但是為了方便表示屏幕的大小,通常用橫向像素×豎向像素的方式來表示,例如電腦屏幕中很常見的1024×768像素,以及手機屏幕中很常見的240×320像素。
『陸』 Android 屏幕適配
1: dp: android 尺寸的基本單位。 在不同的解析度的手機裡面,1dp對應著不同數量的px, 這樣就實現了dp定義一個控制項大小的時候,在不同解析度手機里表現出相應大小的像素值。
2: 屏幕解析度: 1080下160, 表示寬度有1080個像素點而高度有2160個像素點。常見的解析度有320x480, 480x800, 720x1280, 1080x1920等。
3: 屏幕尺寸: 以寸為單位, Android設備對角線的長度
4: 像素密度: 每英寸的像素點
5: 屏幕尺寸, 解析度,像素密度 三者之間的關系:
密度(dpi)= √(寬2 + 高2)/屏幕尺寸
6: px:像素,是屏幕上顯示數據的最基本的點
7: dpi:屏幕像素密度,每英寸上的像素點數
8: sp:與dp類似,通常用於指定字體的大小,當用戶修改手機顯示的字體時,字體大小會隨之改變。
1: dp適配方案: Android自帶的原始的適配方案, 在不同的解析度手機裡面表現出相應大小的像素點。
缺點: Android的碎片化嚴重, 如果生產廠家沒有根據屏幕尺寸、解析度和像素密度的關系來規則定義, 或者出一些亂七八糟的屏幕大小,這樣的適配方案就不在適合了。
2: 寬高限定符:枚舉所有的屏幕寬高像素值,根據等比縮放去適配。如果沒有找到對應的屏幕, 則取默認的。 目前這種方案已經被棄用。
缺點:
1: 佔用資源大,會增加APK的體積。
2: 容錯機制大需要精準命中資源文件才能適配,比如1920x1080的手機就一定要找到1920x1080的限定符,否則就只能用統一的默認的dimens文件了。而使用默認的尺寸的話,UI就很可能變形。
3:AndroidAutoLayout適配方案(停止維護)
4: SW限定符適配方案:(smallestWidth最小寬度適配)
Android 會去識別屏幕可用高度或者寬度的最小尺寸的dp值。然後根據識別到的結果去對應的資源文件裡面去找尋相應的結果。
如何生成:ScreenMatch插件
此方案跟寬高限定的適配方案相比,有很好的容錯機制, 如果沒有找到對應的適配寬度, 那麼會在vlues文件裡面去找跟他最接近的寬度。
5:今日頭條適配方案:
1>: px 轉 dp 的公式 dp = px / density.不管我們設定的單位是什麼, 最終我們都會將這些單位長度轉化為px的。density就是他們的轉化比, 所以,動態改變這個轉化比也是可以達到我們適配屏幕的目的的。
2>: 通過修改density值,強行把所有不同尺寸解析度的手機的寬度dp值改成一個統一的值(在清單文件中定義),這樣就解決了所有的適配問題。
3>: Density = 當前設備屏幕總寬度(單位為像素)/ 設計圖總寬度(單位為 dp) ;
4>:引入了AndroidAutoSize屏幕適配框架:
https://github.com/JessYanCoding/AndroidAutoSize
最後, 最重要的................
點贊 點贊 點贊, 不重要的事情也就說3遍......
『柒』 Android中解析度,DPI,DP與PX對應關系
解析度就是手機屏幕的像素點數。一般為屏幕的「寬×高」,例如解析度有720×1280的手機設備,表示此屏幕在寬度方向有720個像素點,在高度方向有1280個像素點。
按屏幕對角測量的實際物理尺寸。為簡便起見,Android 將所有實際屏幕尺寸分組為四種通用尺寸:小、 正常、大和超大,以英寸(inch)為單位。例如有個5寸的手機設備,是指對角線的尺寸,5寸×2.54厘米/寸=12.7厘米。
就是每英寸的像素點數,數值越高當然顯示越清晰,通常 與「正常」或「高」密度屏幕相比,「低」密度屏幕在給定物理區域的像素較少。
在定義 UI 布局時應使用的虛擬像素單位,用於以密度無關方式表示布局維度 或位置。
密度無關像素等於 160 dpi 屏幕上的一個物理像素,這是 系統為「中」密度屏幕假設的基線密度。在運行時,系統 根據使用中屏幕的實際密度按需要以透明方式處理 dp 單位的任何縮放 。dp 單位轉換為屏幕像素很簡單: px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等於 1.5 物理像素。在定義應用的 UI 時應始終使用 dp 單位 ,以確保在不同密度的屏幕上正常顯示 UI。
大多數情況下,確保應用中的屏幕獨立性很簡單,只需以適當的密度獨立像素( dp 單位)或 "wrap_content" 指定所有 布局尺寸值。系統然後根據適用於當前屏幕密度的縮放比例適當地縮放點陣圖可繪制對象,以 適當的大小顯示。
如上表所示,現在我們在mdpi下設計了一個48x48的應用圖標,那麼在ldip下大小縮小0.75倍為36x36,在hdip下放大1.5倍為72x72,在xhdpi下放大2倍為96x96,在xxhdpi下放大3倍為144x144,在xxxhdpi下放大4倍為192x192.
android對於不同dpi設備提供了5個目錄存放圖片,使開發人員根據實際需要對圖片適配。一般情況需要UI根據一種DPI密度、或解析度的設備設計UI,根據不同dpi的比例出圖,一般需要xhdpi、xxhdpi兩套圖,即2x、3x圖。
計算相關公式:
px = dpValue * density + 0.5f;
dp = pxValue / density + 0.5f;