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

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

 更新時間:2013年07月29日 09:19:11   作者:  
Android的單位以及屏幕分辨率詳解

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

二、單位應(yīng)用總結(jié):一般用相對單位,而不是絕對單位
1、字體的大小一般使用SP,用此單位的字體能夠根據(jù)用戶設(shè)置字體的大小而自動縮放

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

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

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

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

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

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

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

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

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

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

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

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

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

下面是幾種不同單位的相互轉(zhuǎn)換.

復(fù)制代碼 代碼如下:

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方法中,寫入如下代碼:

復(fù)制代碼 代碼如下:

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節(jié)點, <uses-sdk android:minSdkVersion="4" /> , 表示不sdk1.6以下的機器不能安裝你的apk了.

2.supports-screens 節(jié)點.

復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • Android開發(fā)之ListView、GridView 詳解及示例代碼

    Android開發(fā)之ListView、GridView 詳解及示例代碼

    本文主要介紹Android開發(fā)之ListView、GridView,這里整理了相關(guān)資料及簡單示例代碼,幫助大家學(xué)習(xí)參考,有需要的小伙伴可以參考下
    2016-08-08
  • 谷歌被屏蔽后如何搭建安卓環(huán)境

    谷歌被屏蔽后如何搭建安卓環(huán)境

    從5月27日開始,谷歌(Google)在華的幾乎所有的服務(wù)都處于無法使用的狀態(tài),除了搜索引擎遭到屏蔽之外,谷歌的郵箱(Gmail)、日歷(Calendar)、翻譯(Translate)、地圖(Maps)、分析(Analytics)和Google AdSense等產(chǎn)品也受到了影響。同時安裝安卓環(huán)境的時候同樣容易出現(xiàn)問題
    2014-06-06
  • Android布局之GridLayout網(wǎng)格布局

    Android布局之GridLayout網(wǎng)格布局

    網(wǎng)格布局標簽是GridLayout。這個布局是android4.0新增的布局。這個布局只有4.0之后的版本才能使用。本文給大家介紹Android布局之GridLayout網(wǎng)格布局相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • 淺談Android開發(fā)Webview的Loading使用效果

    淺談Android開發(fā)Webview的Loading使用效果

    這篇文章主要為大家介紹了淺談Android開發(fā)Webview的Loading使用效果詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Android實現(xiàn)儀表盤控件開發(fā)

    Android實現(xiàn)儀表盤控件開發(fā)

    這篇文章主要為大家詳細介紹了Android實現(xiàn)儀表盤控件開發(fā),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Android仿微信語音對講錄音功能

    Android仿微信語音對講錄音功能

    這篇文章主要為大家詳細介紹了Android仿微信語音對講錄音,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android使用OkHttp上傳圖片的實例代碼

    Android使用OkHttp上傳圖片的實例代碼

    本篇文章主要介紹了Android使用OkHttp上傳圖片的實例代碼,這里整理了相關(guān)的代碼,有興趣的可以了解一下
    2017-07-07
  • Android RadioGroup 設(shè)置某一個選中或者不可選中的方法

    Android RadioGroup 設(shè)置某一個選中或者不可選中的方法

    下面小編就為大家?guī)硪黄狝ndroid RadioGroup 設(shè)置某一個選中或者不可選中的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Android實現(xiàn)帶指示器的自動輪播式ViewPager

    Android實現(xiàn)帶指示器的自動輪播式ViewPager

    這篇文章主要為大家詳細介紹了Android實現(xiàn)帶指示器的自動輪播式ViewPager的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android  MeasureSpec的理解和源碼的解析

    Android MeasureSpec的理解和源碼的解析

    這篇文章主要介紹了Android MeasureSpec的理解和源碼的解析的相關(guān)資料,希望通過本文大家可以掌握理解這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09

最新評論

固原市| 长乐市| 休宁县| 鹤峰县| 泗阳县| 海晏县| 莱西市| 龙海市| 东台市| 新宁县| 简阳市| 泰宁县| 滁州市| 天峨县| 澄迈县| 岢岚县| 汶川县| 建湖县| 安图县| 阳新县| 扎囊县| 连平县| 诸暨市| 永靖县| 永福县| 无极县| 惠安县| 乌兰察布市| 上高县| 天峨县| 香河县| 南投县| 老河口市| 尼木县| 马尔康县| 贡嘎县| 北宁市| 聂荣县| 府谷县| 永和县| 北票市|