美文网首页玖富钱包分享专题
屏幕适配Autolayout的用法

屏幕适配Autolayout的用法

作者: AnonyPer | 来源:发表于2017-04-09 21:17 被阅读32次

做Android开发,一直会被问及到或者讨论一个问题,关于屏幕适配的做法,如何做才是最好。我们试过按照摆放组件,试过创建不同屏幕对应的资源文件夹,这些或多或少都在一定程度上优化了适配的问题。但是问题也是有的,android的手机屏幕计算尺寸的单位是dp,而一般设计师童鞋标注的尺寸都是px,按照百分比来布局,要去不断的换算对应的关系,而且还依赖父容器。如果按照不同资源文件方式来适配,但是大量的文件夹以及android开源造成的各种想象不到的屏幕尺寸需要去对应,你可能不会疯,我会疯掉的。

后来在同事的介绍下使用了Autolayout,感觉这个轮子在一定程度上是一个神器,它很大程度上的解决了适配的问题。下面记录介绍一下它的使用方法。

原理:就是把你不想做的px和dp换算过程交给这个轮子来计算(原理这东西都是简单的跟一加一等于三一样)

目的:拿到UI设计图,在处理对应的布局文件时,之间按照UI效果图上标注的px尺寸写进xml文件中,通过Autolayout自动达到多屏幕的适配,让你爽歪歪~

用法:

1、引入架包:一种下载Autolayout的开源库,或者在gradle中

dependencies {

compile project(':autolayout')

}

其代码结构如下:

自动适配了FrameLayout、LinearLayout、RelativeLayout等常用容器。

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

2、对应的Antivity继承AutoLayoutActivity,然后就可以开始愉快的玩耍了~

480*800 720*1280

妥妥的~~~~

AutoLayoutActivity的用法实际上是完成了一件事:

LinearLayout -> AutoLinearLayout

RelativeLayout -> AutoRelativeLayout

FrameLayout -> AutoFrameLayout

如果继承AutoLayoutActivity来使用,那么你就得像Google的百分比库一样,去用AutoXXXLayout代替系统原有的XXXLayout。当然,你可以放心的是,所有的系统属性原有的属性都会支持,不过根布局上就不支持px的自动百分比化了,但是一般根布局都是MATCH_PARENT,而上述的方式,根布局也是可以直接px的百分比化的。

需要注意的几个点:

对于listview中getview中的view,因为没有继承AutoLayoutActivity,所以没有办法自动进行适配,所以可以借助其:AutoUtils.autoSize(convertView);方法,来完成适配。

当然了,这个不是最详细的解释说明,因为轮子不是我发明的,我只是一个使用者,写下来也算是对自己掌握知识的一个梳理。比较全面的传送门如下:

http://blog.csdn.net/lmj623565791/article/details/49990941

http://blog.csdn.net/l970859633/article/details/51576534

相关文章

  • 版本适配

    屏幕适配 代码适配 Masonry UIView+AutoLayout 可视化适配 autoLayout 系统适配...

  • 屏幕适配Autolayout的用法

    做Android开发,一直会被问及到或者讨论一个问题,关于屏幕适配的做法,如何做才是最好。我们试过按照摆放组件,试...

  • 关于iOS屏幕适配小结

    屏幕适配 屏幕适配的四种方式 frame和bounds Autoresizing AutoLayout 和 mas...

  • AutoLayout屏幕适配

    ## 屏幕适配的发展历史 iPhone3GS\iPhone4没有屏幕适配可言全部用frame、bounds、cen...

  • 全屏幕适配

    说起屏幕适配, 估计很多人都会想到autoLayout, 想到Masonry, 但是今天说的屏幕适配与这自动布局没...

  • 适配

    屏幕适配 设备分辨率 什么是Autolayout Autolayout是一种“自动布局”技术,专门用来布局UI界面...

  • iOS autoLayout

    autolayout 基本的常识 现在主流的屏幕适配是sizeClass + auotoLayout ,以前aut...

  • 还在为Android屏幕适配烦恼吗?几步解决适配问题。

    一,前言AutoLayout AutoLayoutActivity是专为安卓手机屏幕适配而设计的开源...

  • iOS开发-屏幕适配之Autolayout&VFL&am

    本文我将为各位同学提到 屏幕适配的发展历史 什么是适配? 什么是Autolayout? 使用代码实现Autolay...

  • 屏幕适配的简单学习与使用

    屏幕适配目前几个阶段 写固定值->autoresizingMask->autolayout->sizeClasse...

网友评论

  • AnonyPer:就喜欢自己瞎说的样子~:smile:

本文标题:屏幕适配Autolayout的用法

本文链接:https://www.haomeiwen.com/subject/tzcjattx.html