资讯专栏INFORMATION COLUMN

Android 高效布局的几点建议

zollero / 3068人阅读

摘要:在应用开发过程中,布局是一项最基础的工作。这样其实丧失了静态布局的一大优点所见即所得。设置来进行按照比例布局。

在Android应用开发过程中,布局是一项最基础的工作。

如何进行高效布局,提高开发效率呢? 我经过长期实践,总结了以下几条建议:

一、 静态布局为主,动态布局为辅 1. 静态布局

就是我们最常用的,通过xml来进行布局。

优点:所见即所得。布局创建,修改,预览都非常的方便。

缺点:灵活性稍差。

2. 动态布局

通过Java代码来实现布局。

优点:灵活性好。在应用运行过程中,可以随时去调整布局,例如:增加未加载的新控件,调整控件的位置等。

缺点:可见性差,维护非常的繁琐。

大家都知道,一个项目,一个功能,不可能自始至终都是同一个人进行维护的。人员流动,工作调整,这些都可能造成以下结果:你去接手别人维护的功能/模块,别人接手你维护的功能/模块。基于这种现状,在Android应用布局方面,可见性,可维护性显得尤为重要。 因此,我推荐的布局原则是:“静态布局为主,动态布局为辅。”

推荐的理由有两点:

布局是一个相对持续的过程。可能UI/UE会随时让你调整下控件之间的间距,位置等。动态布局,需要每次修改后,编译运行在手机上才能看到实际的效果。而静态布局,可以随时修改,随时预览效果。

静态布局,你可以通过阅读xml,预览效果,对于整个界面,可以快速的熟悉和掌握。而对于动态布局,你必须确认你对所有有关的代码熟悉后,静态布局和动态布局相结合,在脑海中对整个界面进行拼接,才能有一个整体把握。而随着布局变得复杂,这将变得越来越难。

二、 善用tools工具

有些布局,预览效果非常差。咋一看上去,一片空白。这样其实丧失了静态布局的一大优点“所见即所得。”整个布局之后,你编译运行到手机上,才能看到你设置的属性,间距等是否正常生效了。

这里,我推荐一个原则:“尽量在布局中展示你要的效果。”

怎么实现呢?这里需要用到一个工具,tools。

Tools 简介和用法

Tools工具的使用仅仅针对IDE有效,并不会被打包进应用。

具体步骤如下:

在布局最外层,加上下面这句话,声明一下。

一般的控件属性以“android:”开头。新增一个同样的属性,改为以“tools:”开头。

例如:一个TextView控件,需要设置默认状态为不可见。

但是你想预览它,又担心改为android:visiblity="visible"之后忘了改回来,直接提交了。现在你不必担心,新增一个同样名称的属性,以“tools:”
开头,就可以了。

三、 时刻谨记UI适配

由于Android开源的特性,造成Android手机种类繁多。这些手机拥有不同版本的系统,不同的屏幕分辩率,不同的配置等。

我们在进行布局的时候,要时刻谨记UI适配,尽最大限度去适配不同的分辨率。

这里,我总结几点经验:

Android控件,默认会带有一点padding。 有些背景切图,可能会留有较大的余白。而UI/UE的标注图可能并没有考虑这些因素,因此,UI/UE的标注图仅供参考。实际布局过程中,可能需要稍微调整。

保留重要标注尺寸,忽略次要标注尺寸。举个简单的例子。假设一个顶部区域,固定高度。需要放置主标题,副标题两个文本控件。 建议这么布局,主标题和副标题使用一个竖直的LinearLayout进行包裹。主标题和副标题控件之间按照标注图设置精准的间距。之后,把整个LinearLayout竖直居中在顶部区域。

设置android:weight,来进行按照比例布局。

文本控件,需要考虑,文本过长时的省略策略。

防止控件相互压盖

切图至少提供两套,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并提升用户体验的解决方案;同时提供多元化的创业服务-物理空间、孵化运营、创业投资等,为移动创业者提供全面保障。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/12679.html

相关文章

  • Android开发优化几点建议

    摘要:网络数据优化移动端获取网络数据优化可以从以下几点着手连接复用节省连接建立时间,如开启。 安卓开发大军浩浩荡荡,经过近十年的发展,Android技术优化日异月新,如今Android 9.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS。但是,到了各大厂商手里,改源码、自定义系统,使得Android原生系统变得鱼龙混杂,然后到了不同层次的开发工程师手里,因为技...

    赵连江 评论0 收藏0
  • 如何开发高效Android 应用

    摘要:耗电或者内存占用等影响产品效率的每一个问题都会影响的成功。即使高效的代码也是需要时间来运行。最高效的方式就是在类这一级完成这项操作,可以使用或者来创建后台操作。 假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比、耗电、耗内存。接下来就会得到用户的消极评论,最后名声也就臭了。即使你的应用设计精良、创意无限也没用。 耗电或者内存占用等影响产品效率的每一个问题...

    Jinkey 评论0 收藏0
  • 自学 JAVA 几点建议

    摘要:自制力好的人,估计在保存后会翻出来看两眼,过几天又忘得一干二净了。多思考学会思考,养成多思考的习惯。以项目来驱动自己学习,整个过程将会有趣得多。后语以上就是我对自学的几点建议,希望对你们有帮助。 微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 showImg(https://segmentfault.com/img/remote/1460000018208...

    klinson 评论0 收藏0
  • Android 目前最稳定和高效的UI适配方案

    摘要:我们可以说,通过加上自适应布局和比例布局可以基本解决不同手机上适配的问题,这基本是最原始的适配方案。宽高限定符适配为了高效的实现开发,出现了新的适配方案,我把它称作宽高限定符适配。这套方案是上述几种方案中最接近完美的方案。 Android系统发布十多年以来,关于Android的UI的适配一直是开发环节中最重要的问题,但是我看到还是有很多小伙伴对Android适配方案不了解。刚好,近期准...

    mtunique 评论0 收藏0
  • Google 以 Flutter 作为原生突破口,移动端即将统一了

    摘要:的前生今世系统系统作为全球第一大系统,基于开发的移动端有着诸多的性能优势。官方提供了丰富的原生接口封装系统结构图像处理引擎年图像处理引擎成立,用来展示火狐和其他自家的产品使用。而语言早已突破阶段,正稳步迈向阶段。 showImg(https://segmentfault.com/img/remote/1460000018724305); Android 的前生今世 Android 系统...

    gaomysion 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<