要实现屏幕适配该考虑这写内容:
1、需要固定宽高的控件,就设置固定的dp(并不是只能通过dp来固定宽度,也可以有其他方法,比如:用权重+dp的方式)
2、不需要固定宽高的控件,就设置match_parent,wrap_content,权重
3、drawable里图片文件为了不失真,所以需要建立不同的分辨率的图片资源文件。(现在大部分只要在xhdpi里的就好了)
4、文字大小设置,可以用sp
5、根据不同的分辨率,我创建不同分辨率的dimens文件,里面设置各个分辨率下的宽高度、位置。(用于你说的那种宽高比例不和480*320成正比的那些分辨率,由于会有很多种分辨率情况,所以也是以主要的几种最为最优解)
6、至于百分比和autolayout则其实是对我的1的另一种方法,对用dp来表示的一种互补,两者都有缺陷和优劣。择优选择。
这是我对屏幕适配的理解。
Paste_Image.png
注意事项:
1、不管怎么实现,还是不管无法做到完美的适配。因为要适配的分辨率非常多,不可能每个都去应对处理一下的。
2、同一项目 如果决定用了dp,就一直用dp,用百分比,就用百分比,最好 别两个一起用。因为这种类似框架的转换,不提倡,后期维护会很烦。
3、针对我的5,建多了不同的分辨率下的文件,apk就大了,这个时候可以考虑第三方布局
第三方布局有鸿洋的百分比布局和autolayout布局https://github.com/hongyangAndroid/AndroidAutoLayout
还有一种适配放是是锤子哥的适配:Android-屏幕适配全攻略 http://www.imooc.com/learn/484
网友评论