在Android应用开发过程中,布局是一项最基础的工作。
如何进行高效布局,提高开发效率呢? 我经过长期实践,总结了以下几条建议:
一、 静态布局为主,动态布局为辅
1. 静态布局
就是我们最常用的,通过xml来进行布局。
优点:所见即所得。布局创建,修改,预览都非常的方便。
缺点:灵活性稍差。
2. 动态布局
通过Java代码来实现布局。
优点:灵活性好。在应用运行过程中,可以随时去调整布局,例如:增加未加载的新控件,调整控件的位置等。
缺点:可见性差,维护非常的繁琐。
大家都知道,一个项目,一个功能,不可能自始至终都是同一个人进行维护的。人员流动,工作调整,这些都可能造成以下结果:你去接手别人维护的功能/模块,别人接手你维护的功能/模块。**基于这种现状,在Android应用布局方面,可见性,可维护性显得尤为重要。** 因此,我推荐的布局原则是:静态布局为主,动态布局为辅。
推荐的理由有两点:
1. 布局是一个相对持续的过程。可能UI/UE会随时让你调整下控件之间的间距,位置等。动态布局,需要每次修改后,编译运行在手机上才能看到实际的效果。而静态布局,可以随时修改,随时预览效果。
2. 静态布局,你可以通过阅读xml,预览效果,对于整个界面,可以快速的熟悉和掌握。而对于动态布局,你必须确认你对所有有关的代码熟悉后,静态布局和动态布局相结合,在脑海中对整个界面进行拼接,怎么样建设公司网站才能有一个整体把握。而随着布局变得复杂,这将变得越来越难。
二、 善用tools工具
有些布局,预览效果非常差。咋一看上去,一片空白。这样其实丧失了静思茅网站建设公司态布局的一大优点所见即所得。整个布局之后,你编译运行到手机上,才能看到你设置的属性,间距等是否正常生效了。
这里,我推荐一个原则:尽量在布局中展示你要的效果。
怎么实现呢?这里需要用到一个工具,tools。
Tools 简介和用法
Tools工具的使用仅仅针对IDE有效,并不会被打包进应用。
具体步网站建设营销全案公司骤如下:
在布局最外层,加上下面这句话,声明一下。
2. 一般的控件属性以android:开头。新增一个同样的属性,改为以tools:开头。
例如:一个TextView控件,需要设置默认状态为不可见。
但是你想预览它,又担心改为android:visiblity="visible"之后忘了改回来,直接提交了。现在你不必担心,新增一个同样名称的属性,以tools:
开头,就可以了。
三、 时刻谨记UI适配
由于Android开源的特性,造成Android手机种类繁多。这些手机拥有不同版本的系统,不同的屏幕分辩率,不同的配置等。
我们在进行布局的时候,要时刻谨记UI适配,尽最大限度去适配不同的分辨率。
这里,我总结几点经验:
1. Android控件,默认会带有一点padding。 有些背景切图,可能会留有较大的余白。而UI/UE的标注图可能并没有考虑这些因素,因此,UI/UE的标注图仅供参考。实际布局过程中,可能需要稍微调整。
2. 保留重要标注尺寸,忽略次要标注尺寸。举个简单的例子。假设一个顶部区域,固定高度。需要放置主标题,副标题两个文本控件。 建议这么布局,主标题和副标题使用一个竖直的LinearLayout进行包裹。主标题和副标题控件之间按照标注图设置精准的间距。之后,把整个LinearLayout竖直居中在顶部区域。
3. 设置android:weight,来进行按照比例布局。
4. 文本控件,需要考虑,文本过长时的省略策略。
5. 防止控件相互压盖
6. 切图至少提供两套,hdpi和xhdpi
参考
Designtime Layout Attributes(http://tools.android.com/tips/layout-designtime-attributes?spm=5176.blog8192.yqblogcon1.7.wIjHWO)
Tools Attributes(http://tools.android.com/tech-docs/tools-attributes?spm=5176.blog8192.yqblogcon1.8.nN5eox)
关于阿里百川
阿里百川(baichuan.taobao.com)是阿里巴巴集团云+端的核心战略是阿里巴巴集团无线开放平台,基于世界级的后端服务和成熟的商业组件,通过技术、商业及大数据的开放,为移动创业者提供可快速搭建App、商业化APP并提升用户体验的解决方案;同时提供多元化的创业服务-物理空间、孵化运营、创业投天津和平网站建设公司资等,为移动创业者提供全面保障。
南京牧狼文化传媒有限公司简介:
牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!
公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!
为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!
主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等
合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯
资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。