eoe 移动开发者论坛

 找回密码
 加入eoe

QQ登录

只需一步,快速开始

查看: 108|回复: 2
收起左侧

[Android widget] 关于屏幕密度dpi

[复制链接]

签到天数: 20 天

连续签到: 1 天

[LV.4]偶尔看看III

37

主题

130

帖子

-7

e币
发表于 2017-5-19 16:22:58 | 显示全部楼层 |阅读模式
30e币
通过如下方式计算手机的屏幕的 DPI

代码中获取屏幕dpi的方式如下
  1. context.getResources().getDisplayMetrics().densityDpi
  2. //是读取/system/build.prop(记录一些系统设置)属性文件中ro.sf.lcd_density的值
复制代码
(问题1)
但是发现,通过公式计算出来的dpi与代码获取到的dpi是不一样的,google建议分为120 dpi、160 dpi、240 dpi、320 dpi,为什么要这样做?
例如我的mate8手机,分辨率1080*1920,6英寸屏幕,通过公式计算出dpi为367,但是通过代码获取到的是480.
(问题2)
是通过公式计算出来dpi,然后看在谷歌建议哪个范围内,就将ro.sf.lcd_density的值设置为多少么?例如,计算得到dpi=102,那么就设置ro.sf.lcd_density=120.


附件: 您需要 登录 才可以下载或查看,没有帐号?加入eoe

签到天数: 6 天

连续签到: 1 天

[LV.2]偶尔看看I

25

主题

323

帖子

822

e币
发表于 2017-5-31 22:58:21 | 显示全部楼层
1.  说一个概念, dpi有真实dpi 和 google定义的dpi   google定义的就是 320 240 160 120 比例是2:1.5:1:0.75    计算出来的367是真实dpi 它的范围属于320 所以按320计算。  代码可以获取到真实dpi与调整后的dpi 是不通的属性 具体的属性名忘记了
2.  这个是一个ro值 ,要看系统具体用到地方了,可以把它当成类似preference 的东西 不过更持久

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

1

主题

30

帖子

8

e币
发表于 2017-6-4 01:39:34 | 显示全部楼层
撒旦撒多所的范德萨发
*滑动验证:
您需要登录后才可以回帖 登录 | 加入eoe

本版积分规则

推荐阅读
赞助商们

QQ|联系我们|小黑屋|手机版|eoe 移动开发者论坛 ( 京ICP备11018032 京公网安11010802020210  

GMT+8, 2017-8-21 10:38 , Processed in 0.594878 second(s), 41 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表
关闭

扫一扫 关注eoe官方微信