亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android的單位以及屏幕分辨率詳解

2020-04-11 12:04:44
字體:
來源:轉載
供稿:網友

一、常用的單位:相對單位主要有:px、sp、dp
絕對單位主要有:pt、in、mm

二、單位應用總結:一般用相對單位,而不是絕對單位
1、字體的大小一般使用SP,用此單位的字體能夠根據用戶設置字體的大小而自動縮放

2、空間等相對距離一般使用dp(dip),隨著密度變化,對應的像素數量也變化,但并沒有直接的相對比例的變化。

3、px與實際像素有關,及與密度有關!dp和sp和實際像素沒有關系,對于一定分辨率但不同密度的屏幕,px單位的應用可能會導致長度的相對比例的變化。

三、密度與分辨率:
密度值表示每英寸有多少個顯示點,與分辨率是兩個概念。

其屏幕密度標準是:HVGA屏density=160;QVGA屏density=120;WVGA屏density=240;WQVGA屏density=120

具體的應用運算關系:假設分辨率是 x*y, 密度為 d, 屏幕實際大小為 a*b那么關系為 x*y = d * a * b (約等于)

不同density下屏幕分辨率信息,以480dip*800dip的 WVGA(density=240)為例density=120時 屏幕實際分辨率為240px*400px (兩個點對應一個分辨率)

四、對比總結:
1、在相同密度(即同一實體屏幕)不同分辨率的情況下,與實體密度無關的相對單位sp和dp顯示正常

2、在相同分辨率不同密度的情況下,因為一般情況下,都用的標準密度,所以分析的意義不是很大

其他資料:
px:是屏幕的像素點
in:英寸
mm:毫米
pt:磅,1/72 英寸
dp:一個基于density的抽象單位,如果一個160dpi的屏幕,1dp=1px
dip:等同于dp
sp:同dp相似,但還會根據用戶的字體大小偏好來縮放。
建議使用sp作為文本的單位,其它用dip
針對dip和px 的關系,做以下概述:
HVGA屏density=160;QVGA屏density=120;WVGA屏density=240;WQVGA屏density=120
density值表示每英寸有多少個顯示點,與分辨率是兩個概念。
不同density下屏幕分辨率信息,以480dip*800dip的 WVGA(density=240)為例

density=120時 屏幕實際分辨率為240px*400px (兩個點對應一個分辨率)
狀態欄和標題欄高各19px或者25dip
橫屏是屏幕寬度400px 或者800dip,工作區域高度211px或者480dip
豎屏時屏幕寬度240px或者480dip,工作區域高度381px或者775dip

density=160時 屏幕實際分辨率為320px*533px (3個點對應兩個分辨率)
狀態欄和標題欄高個25px或者25dip
橫屏是屏幕寬度533px 或者800dip,工作區域高度295px或者480dip
豎屏時屏幕寬度320px或者480dip,工作區域高度508px或者775dip

density=240時 屏幕實際分辨率為480px*800px (一個點對于一個分辨率)
狀態欄和標題欄高個38px或者25dip
橫屏是屏幕寬度800px 或者800dip,工作區域高度442px或者480dip
豎屏時屏幕寬度480px或者480dip,工作區域高度762px或者775dip

apk的資源包中,當屏幕density=240時使用hdpi 標簽的資源
當屏幕density=160時,使用mdpi標簽的資源
當屏幕density=120時,使用ldpi標簽的資源。
不加任何標簽的資源是各種分辨率情況下共用的。
布局時盡量使用單位dip,少使用px

下面是幾種不同單位的相互轉換.

復制代碼 代碼如下:

public static int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale + 0.5f);
}
public static int px2dip(Context context, float pxValue){
final float scale = context.getResource().getDisplayMetrics().density;
return (int)(pxValue / scale + 0.5f);
}
public static int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale + 0.5f);
}
public static int px2dip(Context context, float pxValue){
final float scale = context.getResource().getDisplayMetrics().density;
return (int)(pxValue / scale + 0.5f);
}

下面說下如何獲取分辨率:

在一個Activity的onCreate方法中,寫入如下代碼:

復制代碼 代碼如下:

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels;  // 屏幕寬度(像素)
int height = metric.heightPixels;  // 屏幕高度(像素)
float density = metric.density;  // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)

這還是挺簡單的, 可是你有沒有在800*480的機器上試過, 是不是得到的寬度是533 ? 因為android剛開始時默認的density是1.0 , 此時你可以再manifest.xml中加入

1.uses-sdk節點, <uses-sdk android:minSdkVersion="4" /> , 表示不sdk1.6以下的機器不能安裝你的apk了.

2.supports-screens 節點.

復制代碼 代碼如下:

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美中文字幕第一页| 国产成人在线亚洲欧美| 欧美老女人性视频| 中文字幕一区电影| 亚洲香蕉av在线一区二区三区| 国产精品高精视频免费| 欧美日韩中文字幕日韩欧美| 欧美精品一区在线播放| 日韩欧美大尺度| 中文字幕久热精品在线视频| 欧美激情欧美激情在线五月| 91人人爽人人爽人人精88v| 久久精品亚洲国产| www.色综合| 欧美做受高潮1| 中文字幕亚洲综合久久| 国产精品日韩电影| 日韩在线观看免费av| 亚洲一二三在线| 国产精品亚洲美女av网站| 成人久久18免费网站图片| 亚洲人在线视频| 亚洲精品美女久久| 亚洲乱码国产乱码精品精天堂| 俺去啦;欧美日韩| 亚洲人成伊人成综合网久久久| 亚洲国产精品一区二区三区| 日韩精品中文字幕有码专区| 亚洲aⅴ日韩av电影在线观看| 动漫精品一区二区| 亚洲中国色老太| 亚洲第一天堂av| 久久久噜噜噜久噜久久| 亚洲一区二区中文| 日本国产精品视频| 欧美日韩综合视频| 亚洲精美色品网站| 尤物精品国产第一福利三区| 日韩毛片在线看| 欧美日韩亚洲91| 亚洲高清色综合| 黄色成人av网| 久久亚洲精品网站| 欧美激情视频在线免费观看 欧美视频免费一| 久久久亚洲国产天美传媒修理工| 黑人精品xxx一区| 国产欧美一区二区| 国产精品亚洲一区二区三区| 98精品国产高清在线xxxx天堂| 欧美在线一级va免费观看| 青青久久av北条麻妃黑人| 57pao国产精品一区| 国外色69视频在线观看| 国产拍精品一二三| 免费97视频在线精品国自产拍| 久久99精品久久久久久噜噜| 精品国产乱码久久久久酒店| 欧美中文在线视频| 精品久久久久久电影| 国产成人精品一区| 欧美日韩xxx| 欧美精品999| 欧美激情乱人伦| 欧美午夜影院在线视频| 国内精品一区二区三区| 日韩av三级在线观看| 亚洲视频欧美视频| 91免费综合在线| 国产成人亚洲综合| 日韩电影中文 亚洲精品乱码| 亚洲国产精品99久久| 国产精品美女视频网站| 日韩视频免费在线观看| 国产精品久久久久久久久免费| 久久资源免费视频| 两个人的视频www国产精品| 亚洲最大福利视频| 久久久欧美一区二区| 国产精品嫩草视频| 国产精品视频xxx| 久久免费视频这里只有精品| 国内免费久久久久久久久久久| 亚洲黄页网在线观看| 国内精品小视频在线观看| 欧美亚洲一级片| 中文字幕亚洲欧美日韩2019| 亚洲精品一区在线观看香蕉| 中文字幕精品—区二区| 国产精品视频久久久久| 4388成人网| 中文字幕少妇一区二区三区| 亚洲美女又黄又爽在线观看| 国产精品成人国产乱一区| 日韩精品丝袜在线| 欧美一级电影久久| 亚洲肉体裸体xxxx137| 97精品在线观看| 精品激情国产视频| 精品久久久av| 亚洲欧美自拍一区| 日韩欧美在线播放| 日韩av理论片| 欧美在线一区二区视频| 国产精品美女在线观看| 亚洲精品91美女久久久久久久| 欧美成人免费一级人片100| 亚洲国产天堂久久综合网| 亚洲精品按摩视频| 国产亚洲精品久久久久久牛牛| 北条麻妃久久精品| 国产成人亚洲综合青青| 在线视频欧美性高潮| 亚洲欧美国产制服动漫| 97视频免费在线看| 精品久久中文字幕| 日韩女优在线播放| 欧美色图在线视频| 成人网欧美在线视频| 亚洲精品电影网在线观看| 精品毛片网大全| 高跟丝袜欧美一区| 91极品视频在线| 欧美老妇交乱视频| 欧美美女15p| 国色天香2019中文字幕在线观看| 日韩欧美精品免费在线| 97人人爽人人喊人人模波多| 亚洲影视中文字幕| 国产精品视频专区| 欧洲美女7788成人免费视频| 国模视频一区二区| 欧美激情国产日韩精品一区18| 91久久嫩草影院一区二区| 亚洲人成电影网| 自拍偷拍亚洲欧美| 日本国产精品视频| 日本久久久久久久久久久| 最近2019中文字幕第三页视频| 久久久久久亚洲精品不卡| 精品日韩美女的视频高清| 日韩大片免费观看视频播放| 国产福利成人在线| 国产专区欧美专区| 亚洲女同性videos| 亚洲开心激情网| 亚洲福利在线看| 亚洲国产高潮在线观看| 国产日韩欧美在线| 亚洲第一区在线| 日韩欧美第一页| 国产精品网红福利| www.久久久久| 日韩在线免费视频观看| 91麻豆国产语对白在线观看| 亚洲日本成人女熟在线观看| 亚洲国产福利在线| 精品女同一区二区三区在线播放| 日本最新高清不卡中文字幕| 欧美老肥婆性猛交视频| 欧美日韩国产成人| 91亚洲精品在线观看| 国产精品成人av性教育| 日韩一区二区三区在线播放| 中文国产亚洲喷潮|