关于Android屏幕方面
关于Android屏幕方面
带梦想一7飞 发表于4年前
关于Android屏幕方面
  • 发表于 4年前
  • 阅读 19
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

参考几个网页链接:

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

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

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

dp(dip):设备独立像素

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

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

px=dp*(dpi/160)

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

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

 

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, 需要实现一个简单的计算屏幕尺寸的应用在不同设备上验证物理尺寸准确程度,具体代码如下:

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

 

 

共有 人打赏支持
粉丝 18
博文 175
码字总数 99203
×
带梦想一7飞
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: