九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
怎樣獲取Android手機(jī)屏幕的大?。ǚ直媛省⒚芏龋?/div>

 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN); //設(shè)置全屏
this.requestWindowFeature(Window.FEATURE_NO_TITLE); //設(shè)置沒有標(biāo)題

 



一些術(shù)語

Screen Size 屏幕尺寸:

實(shí)際的物理尺寸,以屏幕的對角線為準(zhǔn)(包括通知欄?)

將所有的實(shí)際尺寸分為四個廣義的尺寸:small(小),normal(正常),large(大),extralarge(特大)

Density 屏幕密度:

屏幕的屋里面積內(nèi)的像素?cái)?shù)量,通常指dpi(每英寸點(diǎn)數(shù))

small的屏幕密度比normal或large在一個給定的物理面積內(nèi)具有較少的像素

將所有實(shí)際密度分為四個廣義的密度:low(低),medium(中等),high(高),extra high(超高)

方向:

從用戶的角度來看,屏幕的方向是橫向或縱向,也就是屏幕的比例是高或者寬。

Resolution 分辨率:

在屏幕上的像素總數(shù)。在支持多個屏幕時,應(yīng)用程序不直接與分辨率相關(guān),應(yīng)用程序應(yīng)該只與屏幕大小和密度相關(guān)。

DP(密度無關(guān)的像素) Density-independent pixel:

在定義UI布局時應(yīng)該使用的虛擬像素單元,它用一種密度無關(guān)的方式來表達(dá)布局尺寸或位置。

Aspectratio 屏幕長寬比

長寬比是屏幕的物理寬度與物理高度的比例關(guān)系。應(yīng)用程序可以通過使用限定的資源來為指定的長寬比提供屏幕布局資源。

設(shè)計(jì)和編碼

視覺在根據(jù)交互原型進(jìn)行設(shè)計(jì)的時候,可以考慮以mdpi,也就是320x480為藍(lán)本進(jìn)行設(shè)計(jì),因?yàn)锳ndroid一般采用dp為單位,而我們設(shè)計(jì)的時候一般是px為單位的,這個就涉及到一個單位轉(zhuǎn)換的問題,而在mdpi下,px和dp是1:1的關(guān)系,這樣在標(biāo)注坐標(biāo)的時候能夠很方便的進(jìn)行單位轉(zhuǎn)換,例如我們以320x480為藍(lán)本的話,在photoshop測量的間距為10px,我們在給到RD時的坐標(biāo)可以直接標(biāo)注為10dp;因?yàn)閐p的單位是可以程序自己去適配不用dpi屏幕的,所以就算設(shè)計(jì)三套不同dpi的圖,一般也只用對mdpi的設(shè)計(jì)圖進(jìn)行坐標(biāo)定位,這個坐標(biāo)的標(biāo)注可以用在所有dpi的資源上

Android資源文件

drawable-hdpi里面存放高分辨率的圖片,如WVGA (480x800),FWVGA (480x854)
drawable-mdpi里面存放中等分辨率的圖片,如HVGA (320x480)
drawable-ldpi里面存放低分辨率的圖片,如QVGA (240x320)

Android上常見度量單位

px(像素):屏幕上的點(diǎn),絕對長度,與硬件相關(guān)。

in(英寸):長度單位。

mm(毫米):長度單位。

pt(磅):1/72英寸,point。

dp(與密度無關(guān)的像素):一種基于屏幕密度的抽象單位。在每英寸160點(diǎn)的顯示器上,1dp = 1px。

dip:Density-independent pixel,同dp相同。

sp:在dp的基礎(chǔ)上,還與比例無關(guān),個人理解為是一個矢量圖形單位。

在xml中定義大小,建議TextView使用sp,其他使用dp

對應(yīng)關(guān)系

             Android手機(jī)屏幕標(biāo)準(zhǔn)     對應(yīng)圖標(biāo)尺寸標(biāo)準(zhǔn)  屏幕密度

xhdpi            124*600                       96*96           320

hdpi              480*800                       72*72          240

mdpi             480*320                       48*48          160

ldpi              320*240                        36*36          120

以480dip*800dip的WVGA(density=240)為例,詳細(xì)列出不同density下屏幕分辨率信息:

當(dāng)density=120時 屏幕實(shí)際分辨率為240px*400px (兩個點(diǎn)對應(yīng)一個分辨率)

狀態(tài)欄和標(biāo)題欄高各19px或者25dip

橫屏是屏幕寬度400px 或者800dip,工作區(qū)域高度211px或者480dip

豎屏?xí)r屏幕寬度240px或者480dip,工作區(qū)域高度381px或者775dip


 

density=160時 屏幕實(shí)際分辨率為320px*533px (3個點(diǎn)對應(yīng)兩個分辨率)

狀態(tài)欄和標(biāo)題欄高個25px或者25dip

橫屏是屏幕寬度533px 或者800dip,工作區(qū)域高度295px或者480dip

豎屏?xí)r屏幕寬度320px或者480dip,工作區(qū)域高度508px或者775dip


 

density=240時 屏幕實(shí)際分辨率為480px*800px (一個點(diǎn)對于一個分辨率)

狀態(tài)欄和標(biāo)題欄高個38px或者25dip

橫屏是屏幕寬度800px 或者800dip,工作區(qū)域高度442px或者480dip

豎屏?xí)r屏幕寬度480px或者480dip,工作區(qū)域高度762px或者775dip


模擬器上不同分辨率所有對應(yīng)的信息: 

QVGA : {density=0.75, width=240, height=320, scaledDensity=0.75,xdpi=120.0, ydpi=120.0}
HVGA :  {density=1.0, width=320,height=480, scaledDensity=1.0, xdpi=160.0, ydpi=160.0}
WVGA : {density=1.5, width=480, height=800, scaledDensity=1.5,xdpi=240.0, ydpi=240.0}


其中,density為顯示的邏輯分辨率;width及height就為屏幕分辨率(為絕對寬度與高度),與fields中的widthPixels及heightPixels一致;scaleDensity與density一致;xdpi及ydpi為x方向與y方向的像素密度。

如何計(jì)算密度(dpi)

1.標(biāo)準(zhǔn)是240*320畫在1.5*2平方inch上。那么像每平方英寸有240*320/(1.5*2)=25600點(diǎn),也就是一平方英寸的像素點(diǎn)為25600,所以dpi取為它的平方根160;如果你的dpi是120,那么它的密度就是0.75.

2.密度不只是與width有關(guān),還與height有關(guān),所以不管width是1.8還是1.3,它的密度都有可能是1;比如width是1.8,只要它的height是3/1.8的話,如果pixel為240*320的話,它的密度仍舊是1;同樣如果width為1.3,只要它的height為3/1.3的話,像素點(diǎn)為240*320,則密度也是1.

3.320*480/(1.5*2)得到單位平方英寸的點(diǎn)為51200,所以單位平方英寸是240*320畫在1.5*2屏幕的2倍。但是這是平方英寸啊,算密度的時候要開平方的啊,所以應(yīng)該是2開平方,是1.414吧,大致密度為1.5。

px與dip的關(guān)系

Android中,在160dpi (mdpi)中, 1 dip= 1 px;

以此類推,在120dpi(ldpi)中, 1 dip = 0.75px;

              在240dpi (hdpi)中, 1 dip = 1.5px;

              在320dpi(xhdpi)中, 1dip = 2px;

如何做到與密度無關(guān)

  如果屏幕密度為160,這時dp和sp和px是一樣的。1dp=1sp=1px,但如果使用px作單位,如果屏幕大小不變(假設(shè)還是3.2寸),而屏 幕密度變成了320。那么原來TextView的寬度設(shè)成160px,在密度為320的3.2寸屏幕里看要比在密度為160的3.2寸屏幕上看短了一半。但如果設(shè)置成160dp或160sp的話。系統(tǒng)會自動將width屬性值設(shè)置成320px的。也就是160* 320 / 160。其中320 /160可稱為密度比例因子。也就是說,如果使用dp和sp,系統(tǒng)會根據(jù)屏幕密度的變化自動進(jìn)行轉(zhuǎn)換。官方文檔總結(jié)的計(jì)算公式為:pixels= dps * (density /160).

使用dip作為View的單位,這樣就可以同時兼容各種不同的分辨率,不會造成UI的不可兼容。

屏幕支持范圍(不太明白)

從Android1.6(API Level4)開始,Android提供了對多個屏幕尺寸和密度的支持,以反映出設(shè)備可能有的不同的屏幕配置??梢允褂肁ndroid系統(tǒng)的功能,為每個屏幕配置優(yōu)化應(yīng)用程序的用戶界面,從而確保應(yīng)用程序?yàn)槊總€屏幕提供正常并且盡可能最佳的用戶體驗(yàn)。

為了簡化為多種屏幕設(shè)計(jì)用戶界面,Android劃分了實(shí)際的屏幕尺寸和密度范圍:

·廣義的尺寸大小集合: small(?。? normal(正常), large(大),and xlarge(超大)

:從Android 3.2(API Level13)開始,這種尺寸集合被廢棄,取而代之的是一種基于可用屏幕寬度來管理屏幕尺寸的新技術(shù)。所以針對Android3.2以及以上版本的開發(fā),可以參考 為Android 3.2設(shè)計(jì)平板布局來獲取更多信息。

·廣義的密度集合: ldpi (低), mdpi (中), hdpi (高),and xhdpi (超高)

廣義的大小和密度都圍繞一個基準(zhǔn)配置,即正常的大小和MDPI(中)密度。這個基準(zhǔn)配置即第一款A(yù)ndroid設(shè)備的配置,此設(shè)備即擁有一個HVGA屏幕的T-MobileG1(直到Android 1.6,這是Android支持的唯一的屏幕配置)。

每個廣義的大小和密度跨越了一系列實(shí)際的屏幕尺寸和密度。例如,兩個設(shè)備,這兩個設(shè)備報告的正常屏幕尺寸和寬高比可能與手工測量時略有不同。同樣,兩個設(shè)備報告的hdpi的屏幕密度可能與真正的像素密度略有不同。 Android抽象了應(yīng)用程序的這些差異,因此可以提供廣義的大小和密度設(shè)計(jì)的用戶界面,讓系統(tǒng)需要處理任何最終的調(diào)整。圖1顯示了不同的大小和密度大致分類成不同的大小和密度組。



圖1. 解釋了Android對實(shí)際的尺寸和密度到廣義的尺寸和密度(數(shù)字是不準(zhǔn)確的)的大致映射。

每一個UI設(shè)計(jì)需要一個最小的空間,每一個上文提到的廣義的屏幕大小都擁有一個由系統(tǒng)定義的最小分辨率。這些空間是以“dp”為單位的,當(dāng)定義布局時,也應(yīng)當(dāng)使用相同的單位,它使系統(tǒng)避免了對屏幕密度變化的顧慮。

·        xlarge 屏幕至少 960dpx 720dp

·        large 屏幕至少 640dpx 480dp

·        normal 屏幕至少 470dpx 320dp

·        small 屏幕至少 426dpx 320dp

 

為不同屏幕尺寸和密度優(yōu)化應(yīng)用程序的用戶界面,可以提供任何廣義的大小和密度的alternativeresources(選擇性資源)。通常情況下,應(yīng)該為不同的屏幕尺寸提供alternativelayouts并且為不同的屏幕密度提供alternativebitmapimages。在運(yùn)行時,系統(tǒng)基于當(dāng)前設(shè)備的廣義屏幕尺寸或密度為應(yīng)用程序采用適當(dāng)?shù)馁Y源,

不需要為每一個屏幕大小和密度的組合提供選擇性資源。系統(tǒng)提供了強(qiáng)大的兼容特性,可以處理在任何設(shè)備的屏幕上呈現(xiàn)應(yīng)用程序的大部分工作,開發(fā)者只要實(shí)現(xiàn)UI技術(shù),允許它正常調(diào)整。

注: 定義廣義屏設(shè)備的大小和密度的特點(diǎn)是相互獨(dú)立的。例如,WVGA的高密度的屏幕被認(rèn)為是一個正常大小的屏幕,因?yàn)樗奈锢沓叽缡窍嗤腡-MobileG1(Android的設(shè)備和基線的屏幕配置)。另一方面,WVGA的屏幕中密度被認(rèn)為是一個大尺寸屏幕。雖然它提供了相同的分辨率(像素?cái)?shù)相同),WVGA的屏幕中密度較低的屏幕密度,這意味著每個像素的物理面積較大,因此,整個屏幕是比基準(zhǔn)(正常大?。┑钠聊桓蟆?/p>


 

默認(rèn)的控件大小

當(dāng)在屏幕為160dpi,也就是density為1的情況下,所得到的控件的寬度和高度為android控件的默認(rèn)的dip大小。

比如:Button 的 默認(rèn)高度為 48dip。

        狀態(tài)欄的默認(rèn)高度為25dip。

Android屏幕自適應(yīng)

一:創(chuàng)建不同的layout文件

在res目錄下創(chuàng)建不同的layout文件夾,比如layout-640x360,layout-800x480,所有的layout文件在編譯之后都會寫入R.java里,而系統(tǒng)會根據(jù)屏幕的大小自己選擇合適的layout進(jìn)行使用。

二:針對不同屏幕制作不同大小的圖標(biāo)

注:分辨率與屏幕大小沒有關(guān)系,屏幕大小是物理外觀,而分辨率則是顯示能力。


參考http://blog.csdn.net/liguangzhenghi/article/details/7244271

http://www.oschina.net/question/234345_40079

http://uoloveruo.blog.163.com/blog/static/283311422011102304132611/

http://blog.csdn.net/xixinyan/article/details/7316313

http://download.csdn.net/detail/welovesunflower/4540688

http://www.360doc.com/content/12/0301/17/5087210_190881395.shtml

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服