关于Android屏幕方面

参考几个网页连接: html

http://www.2cto.com//kf/201402/280704.html android

http://blog.csdn.net/moruite/article/details/7281428 测试

http://zhidao.baidu.com/link?url=l24PwUM0aq40fD6gzDBaSGYeJURtp2L8yvVQRQmxDWWdLHkFIDJqLrNhpCBIrgXEmzCQ-JylHsDGAvAwW-fkRBSBzhs3chA03wqJ-sah437 ui

dp(dip):设备独立像素 url

dpi:每英寸的像素个数(120/ 160/ 240/ 320) spa

density:密度 ( 0.75/ 1.0/ 1.5/ 2.0) .net

px=dp*(dpi/160) orm

屏幕尺寸=屏幕对角线的像素值/(密度*160)=   / (密度*160) xml

须要在工程的AndroidManifest.xml文件中,加入supports-screens节点,以下: <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" android:anyDensity="true" /> 这样当前的Android程序就支持了多种分辨率,那么就能够获得正确的物理尺寸 htm

 

DisplayMetrics metric = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metric);

int width = metric.widthPixels; // 宽度(PX)

int height = metric.heightPixels; // 高度(PX)

float density = metric.density; // 密度(0.75 / 1.0 / 1.5)

int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240)

 

实践过程:

因为Android设备中获取的密度density自己是个约等于的数值,好比计算出密度的准确值density=1.575,实际在代码中读到的density=1.5, 须要实现一个简单的计算屏幕尺寸的应用在不一样设备上验证物理尺寸准确程度,具体代码以下:

实践结果:几个不一样设备(手机和平板)的测试结果以下:

相关文章
相关标签/搜索