屏幕适配学习

看了很多资料,然后自己实践完总结下:


1.看了鸿神博客有个方法,就是他写了个java文件或者一个jar可以生成以一种分辨率为基准的其他分辨率文件夹:“values-1920x1080”,“values-1280x720”等等,设备在运行的时候会自动寻找加载对应的文件夹,没有对应的则系统会到默认的“values”文件夹去加载资源文件,在values文件夹定义dimen标志然后定义px像素。


2.在命名values文件夹时,大的数字要放前面,前面的数代表水平,不然IDE不通过。


3.做适配时应当获取手机实际分辨率,因为有很多手机有虚拟按键,虚拟按键也计算在手机的规格中,所以应当用代码去计算手机实际分辨率,然后在根据计算得出的分辨率命名values文件夹,不然手机找不到values文件夹会报错,可能会报“You must supply a layout_width attribute”。获取分辨率代码:


4.因为写不完所有分辨率的values资源文件,所以可以采取屏幕密度来命名values文件夹,屏幕密度是这样的概念:Density-independent pixel (dp)独立像素密度。标准是160dip.即1dp对应1个pixel,计算公式如:px = dp * (dpi / 160),当设备的dpi为160的时候1px=1dp,  获取屏幕密度代码:


我的理解是相当于这个手机是dpi为480,按照公式的话相当于1dp=3px。


所以可以把values文件夹命名为xxhdpi等。


5.


6.在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,以适应对横屏竖屏自动切换。

7.可以跟给drawable设定控制符一样,给layout文件夹加标记:layout-hdpi,layout-xxhdpi。

8.屏幕密度可以这样算,用屏幕分辨率勾股定理求出对角线长度,然后除以尺寸,就是每英寸像素点。

参考资料有:

鸿神的Android屏幕适配方案- http://blog.csdn.net/lmj623565791/article/details/45460089

http://blog.csdn.net/qeqeqe236/article/details/42968805

http://blog.csdn.net/icewst/article/details/38685319

http://www.jianshu.com/p/6319e43572fa

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值