Android 屏幕适配终极版

来源:互联网 发布:闲鱼网淘宝二手电脑版 编辑:程序博客网 时间:2024/06/07 23:30

转载请标明出处:
http://blog.csdn.net/lmj623565791/article/details/46767825;
本文出自:【张鸿洋的博客】

最近看了鸿洋大神写的屏幕适配的问题,正好有点时间,就想说学习记录一下。主要内容:一、用法。二、原理。

一、用法

(1)注册设计图尺寸

1、将autolayout引入。

dependencies {    compile project(':autolayout')}

2、在你的项目的AndroidManifest中注明你的设计稿的尺寸。

<meta-data android:name="design_width" android:value="768"></meta-data><meta-data android:name="design_height" android:value="1280"></meta-data>

3、在Activity中开启设配

让你的Activity去继承AutoLayoutActivity。

4、写Layout布局文件就是按照设计师给的图来做,不用dp,直接用px。如下图(盗了一张鸿洋大大的图,这样方便我自己理解^_^)
这里写图片描述

注意:
1、记住你设计稿的尺寸,比如 768 * 1280(在AndroidManifest文件中标明的)
然后在你的PreView面板,选择分辨率一致的设备:
这里写图片描述
2、目前支持属性

layout_width
layout_height
layout_margin(left,top,right,bottom)
pading(left,top,right,bottom)
textSize
不会影响系统所有的其他属性,以及不会影响dp,sp的使用。

3、性能的提升
通过本库的方式去编写代码,可以在很大程序上使用margin,也就是说,对于View的位置非常好控制,从而能够减少非常多的嵌套,甚至任何一个复杂的界面做到无嵌套。

以及,几乎不需要去使用RelativeLayout的规则了,比如rightOf,完全可以由marginLeft完成,其他的rule同理。

对于LinearLayout的weight,几乎也不需要使用了,比如屏幕宽度720px,想要四个控件横向均分,完全可以写layout_width=”180px”。


二、原理
AutoLayoutActivity的用法实际上是完成了一件事:

LinearLayout -> AutoLinearLayout
RelativeLayout -> AutoRelativeLayout
FrameLayout -> AutoFrameLayout

在AndroidManifest文件中的px并不代表1像素,内部会进行百分比化处理,也就是说:720px高度的屏幕,你这里填写72px,占据10%;当这个布局文件运行在任何分辨率的手机上,这个72px都代表10%的高度,这就是本库适配的原理。

1 0
原创粉丝点击