1. 程式人生 > >Android螢幕適配(一)dp、px、dpi、sp的理解

Android螢幕適配(一)dp、px、dpi、sp的理解

在Android開發過程中,螢幕適配往往是開發人員比較忽視的一個知識點。往往這些被忽視的東西在遇到問題的時候會耗費你比較多的時間。所以對於初級程式設計師來說理解掌握適配的一些基本知識是必須的。(大牛請移步) 一、理解dp,px,dpi,sp的概念 px:   px其實就是畫素單位,比如我們通常說的手機分辨列表800*400都是px的單位。 dpi: 一英寸所佔的畫素點的個數,有一些廠家會把160dpi改成1.2

Google規定的見下表:

一英寸有多少個點兒? 我們用來density(密度)來分辨
ldpi 120dpi 0.75
mdpi 160dpi 1
hdpi 240dpi 1.5
xhdpi 320dpi 2
dpi的計算:

比如:計算WVGA(800*480)解析度,3.7英寸

DPI=
=933/3.7=252

dp/dip: device independent pixels(裝置獨立畫素) ,Android開發中通用的與px無關的單位。 sp: 放大的畫素,與dp,px沒有直接的關係,用於字型。 二、px與dp的關係 dp=px*160/dpi     螢幕1英寸的點數=160dpi(也就是密度為1)的時候,1dp=1px。 實際開發過程中,我們獲取到height、width都是px單位的,往往就需要我們轉化成dp去動態設定, 那怎麼轉化呢? DisplayMetrics 物件會分裝手機的寬、高、密度、縮放密度等屬性,怎麼獲取DisplayMetrics 呢?
context.getResources().getDisplayMetrics(); px轉dp dp = pxValue / density+ 0.5f dp轉px px = dipValue * density+ 0.5f px轉sp sp=pxValue / scaledDensity+ 0.5f sp轉px px=spValue *scaledDensity+ 0.5f
注:如果AndroidManifest配置檔案中未配置 <uses-sdk / >那麼DisplayMetrics 中的屬性獲取的值都是預設的值,而不是 手機正確的

相關推薦

Android螢幕dppxdpisp理解

在Android開發過程中,螢幕適配往往是開發人員比較忽視的一個知識點。往往這些被忽視的東西在遇到問題的時候會耗費你比較多的時間。所以對於初級程式設計師來說理解掌握適配的一些基本知識是必須的。(大牛請

android-螢幕

此文是根據慕課網的android視訊自主學習整理的,視訊地址。 一.有關螢幕的重要概念 1.什麼是螢幕尺寸、螢幕密度、螢幕畫素密度? a. 螢幕尺寸就是手機螢幕的對角線長度。 單位是英寸,1英寸 = 2.54釐米 b. 螢幕解析度就

Android P 開發者預覽版

為確保您的應用在 Android P 上表現出最佳的外觀和行為,請按照此頁面中的說明,利用 Android P Preview SDK 構建並執行您的應用。Android P Preview SDK 包含一些不相容 Android Studio 3.0 的變更。您可以使用 Android Studio 3.1

Android螢幕個人的點點總結及經驗

前言:做Android已經一段時間了,可是當別人問到我Android中的螢幕適配的時候,感覺自己有一種似懂非懂的感覺,這就有點尷尬了~~哈哈!還有就是ui跑過來問你要切什麼樣子的圖的時候,總要解釋半天,讓別人感覺你好不專業啊,所以為了更好的理解android的螢

Android

設計 固定 屏幕尺寸 inf bubuko bsp 單位 屏幕 打印機 一、Android適配基礎參數 1.常見分辨率(px) oppx 2340x1080 oppR15 2280x1080 oppor11sp 2160*1080 1

android螢幕實踐dimens.xml尺寸不同的平板

android3.2以後,為了提供更精準的對佈局檔案的控制,可以通過為資原始檔(res目錄下檔案)增加字尾來指定該資料夾裡的xml佈局檔案或color.xml,string.xml是為哪種大小的螢幕使用。 第一種字尾:sw<N>dp,如layout-sw600

Android 螢幕簡單成本低

Android機型各種各樣,在適配的過程中不僅要考慮解析度、長寬比、還要考慮螢幕密度,尤其是螢幕密度會導致不同手機上的顯示效果不同,有一種比較好的適配方式,在適配中通過density換算可以實現在所有所有手機上寬度都視為360dp,高度則按寬度的放大縮小比例去放大和縮小,這是豎屏的情況,橫屏則可以將

移動端螢幕 @media

@media screen and (max-width: 300px) {     body {         background-color:lightblue;     } } Media Queries能在不同的條件下使用不同的樣式,使頁面在不同在終端裝置下達到

Android-螢幕全攻略絕對詳細

前言:這篇文章依然是我在 慕課網 學習 凱子哥 的同名視訊 Android-螢幕適配全攻略 ,所記錄下來的筆記—凱子哥講得真的超詳細。 2012年到2014年支援Android裝置的種類從3997增長到18796。同時各大廠商定製的螢幕尺寸也非常多。這將非

Android 開發:Android螢幕經驗談

1.名詞解釋 螢幕尺寸: 也就是我們平時所說的某某手機是幾寸屏, 比如HTC one V這款手機是3.7寸的, 這裡的寸說的是英寸(inch),國際上習慣使用的單位,1inch = 2.54cm,3.7寸指的是螢幕的對角線的長度。 螢幕解析度:

Android-螢幕全攻略絕對詳細

Android-螢幕適配全攻略(絕對詳細)(二) 關鍵字:非密度制約畫素(dp、sp) 螢幕適配最佳實踐 前言:這篇文章接著 上一篇 繼續講,上篇講到了螢幕適配的核心概念與單位和一種解決方案:解決方案-支援各種螢幕尺寸。本篇繼續講剩餘的其他兩種解

Android-螢幕全攻略絕對詳細

(一) 關鍵字:螢幕適配 px dp dpi sp large限定符 .9.png 2012年到2014年支援Android裝置的種類從3997增長到18796。同時各大廠商定製的螢幕尺寸也非常多。這將非常

【最新】Android 手機解析度整理螢幕的拿走

Android 手機解析度:320x480    320x400480x800    480x854540x960600x1024720x1184    720x1196    720x1280768x1024    768x1280800x12801080x1776   

螢幕劉海屏18:9螢幕尺寸隱藏SystemUI

劉海屏 薩瑞劉海屏API介面    <meta-data android:name="android.compatible_notch" android:value="true"/> 參考:https://developer.huawei.

Android螢幕dp分包法

  前言 網上關於螢幕適配的文章已經鋪天蓋地了,為什麼我還要講?因為網上現在基本都是使用px適配,即每種螢幕解析度的裝置需要定義一套dimens.xml檔案。再加上有些手機還有虛擬按鍵(例如華為),這樣就還需要每個有虛擬按鍵的裝置加多一套dimens.xml檔案,再加上平板那些你會

移動端螢幕通俗易懂理解viewport-真機除錯

真機vivo x5pro 除錯,體驗 當設定元標籤時,彈出螢幕寬度是320(個人理解單位就是px) 因為這個標籤指定了理想視口寬度,為裝置出廠固定的裝置獨立畫素 解析度320(重點:它是固定的) 註釋掉 彈出螢幕寬度 是視口預設的980(個人理解單位就是px) css

聊聊android

       上一篇我們主要了解了為什麼適配,以及怎麼適配,同時給出了部分切圖規範,和在開發過程中需要的一些注意事項,這一遍主要從官方給出的指導建議出發,從視覺的角度來說說怎麼適配。 度量單位和網格 48 dp 的設計韻律 一般來說,可觸控控制元件以

第九章 多語言環境的支援和多螢幕3

9.3.4詳細說明DensityDensity值,表示每英寸有多少個顯示點,它與螢幕解析度是兩個概念。HVGA屏density=160;QVGA屏density=120;WVGA屏density=240;WQVGA屏density=120。apk的資源包中,當螢幕densit

Android螢幕DP存在問題詳解

接下來我們針對google官方提供的DP適配具體分析一下:分析之前我們先補充一下一些基礎知識:基本概念:1. 螢幕尺寸:手機對角線的物理尺寸,單位:英寸(inch)。 eg:5.5寸。2. resolution(螢幕解析度):手機橫向畫素點總和 X 手機縱向畫素點總和, 單位

Android螢幕全攻略1-從dpsppx說起

[TOC] 初衷 現在寫App有些麻木的感覺,每天上班感覺提不起精神,專案和市場上同類產品競比還有很多做得不好的地方,但是就算知道了也沒什麼激情去改正。技術細節感覺很凌亂,不成體系,這讓我非常煩惱。所以希望通過寫Blog去實現: 督促自己。把技術和程