文档章节

关于Android屏幕方面

带梦想一7飞
 带梦想一7飞
发布于 2014/04/24 11:24
字数 297
阅读 20
收藏 0

参考几个网页链接:

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

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

 

 

© 著作权归作者所有

共有 人打赏支持
带梦想一7飞
粉丝 19
博文 190
码字总数 99203
作品 0
朝阳
私信 提问
Android 性能优化:手把手教你优化Bitmap图片资源的使用

前言 在 开发中,性能优化策略十分重要 本文主要讲解性能优化中的Bitmap 使用优化,希望你们会喜欢 目录 1. 优化原因 即 为什么要优化图片资源,具体如下图:

Carson_Ho
2018/04/24
0
0
小弟求教个关于android程序界面适配问题

我是一名android菜鸟,对于安卓APP开发中界面自适应手机各种尺寸各种分辨率的解决方案有点疑问,网上也看了看相关的资料。 先来讲讲我对网上相关资料的大致理解:界面适配中资源主要有两大类...

清时明月
2016/01/19
542
2
Android7.0 分屏下 Activity 与 Fragment 生命周期(一)

小菜前段时间整理了一篇关于我们真的了解 Activity 与 Fragment 的生命周期吗?的小博文,整理了基础版的关于 Activity 与 Fragment 的生命周期。 后来又一次被一个大大神问到在 Android7.0...

阿策神奇
2018/06/11
0
0
Android L 值不值得刷?十个问题解疑惑

笔者今天把大家对Android L预览版的问题进行一个汇总,并挑选十个最受用户关注的问题进行一一回答。相信当你看完这十个问题后,Android L预览版到底值不值得刷?你心中一定会有自己的答案。 ...

oschina
2014/07/25
7.2K
41
Android 9.0 优势探讨

我们来谈论一下 Android。尽管 Android 只是一款内核经过修改的 Linux,但经过多年的发展,Android 开发者们(或许包括正在阅读这篇文章的你)已经为这个平台的演变做出了很多值得称道的贡献...

问题终结者
2018/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
7
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
7
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
8
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
6
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部