Android复杂界面设计总结

1、Android 界面的基本知识介绍 :       
     在前面几张中,我们重点介绍了View,ViewGroup,Widget,SurfaceView,GLSurfaceView,这些基础的知识是android设计界面的基石,android的提供了activitymanager,windowmanager,viewmanager,assetmanager,resourcemanager等相关类,管理activity,window,view,resource等,让其与系统结合,展示在屏幕上。      android界面设计分为如下几个层次:
           第一个层次,应用设计级,使用基本的xml进行布局,xml使用系统的widget和布局方式来布局界面,activity通过setContentView来完成界面在窗口上展示,通过activity来控制widget的事件方式来进行。这个层次,掌握的知识就是系统提供了多少widget,系统提供的布局方式有哪些,适配器如何与相关的widget如何操作。
           第二个层次,架构操作级,使用组合的xml进行布局,通过一个activity调用多个xml文件完成布局,主布局通过setContentView来完成,其他的布局通过inflate来加载其他的xml文件来优化局部界面的布局,activity可以继承基本的activity(基本activity抽象了公共界面部分),界面进行了抽象设计,这样可以降低代码的数量,并提高系统的可维护性。要进行这样的设计,要能理解界面这张图是如何布局的,ViewGroup(LinearLayout,FragmentLayout等)是如何加载view的,这样,就能抽象公共部分进行设计。
          第三个层次,平台优化级,能够从系统抽象类继承View,ViewGroup,Widget,SurfaceView,GLSurfaceView,改良或者增强系统的功能,比如抽象出新的布局方式文件,提高系统的整体性能,在这方面的例子有,pullRefreshList就是一个在list基础上改良的拖动上下刷新界面,launcher 通过继承  ViewGroup来完成app icon的布局和拖动,ViewPager 继承ViewGroup  实现了多页的加载和操作,改良和增强系统功能的控件在不断增加。这些设计要充分了解系统的设计接口(如 ViewGroup 的  OnLayout , OnMeasure在  LinearLayout 中是如何被重载的,在FrameLayout 是如何重载的,这样,书写 ViewPager就知道如何操作)。
      作为android程序员,
             第一层次的划分目录结构就是ui,resource,adapter, 设计按照功能划分,各自实施
             第二层次划分的目录结构就是ui,recource,adapter,widget,base, 设计时需抽象公共base,小组内部人员沟通后可以使用base和widget
             第三层次划分的目录结构为ui,resouce,adapter,widget,base,libs,设计时需高度抽象,形成新的widget或者base,让外部程序员可以使用。
     说实话,我也很想作为第三阶段的程序员,为android贡献一份大力量,但能力和时间问题,一直没有机会,只能停留在第二层次上。

2、复杂界面设计的要点介绍
       要点一:从业务和 UI设计上入手,了解每一个业务和 UI中的元素,及操作变化方式,从ui元素中寻找系统能提供的widget,尽量从系统widget来找到界面设计的基石,在这方面 ,信息的咨询也尤其重要,比如很多外部的控件可以实现内部功能,可以寻找并在开源代码中下载。
       要点二:划分xml及基础类的结构,划分系统的xml,adpter,base class, ui class等抽象到类的基本实施,并逐步细化到函数和成员变量级
       要点三:以上2点都是基于自设计的方式进行,另外,很多时候,开源或者论坛都给我们提供了部分的模型代码,我们,特别是刚入手的同行们,需要基于一个base的架构级ui,从原创设计改为changed设计,当然根据系统的开发人员的架构能力,决定是否原创或者部分修改,或者完全继承都是设计者的策略要素,但是,设计者在使用敏捷开发的思路的时候,信息和咨询的掌握尤其重要,我们很多时候拿到的开源代码,可能是初学者练手的程序,而不是facebook释放的部分开源代码,我们基于那样的代码进行重构,还不如完全自己重构。
      要点四:重构完成后的策略评估,在我们开始进行代码编写前,评估很重要,这些评估包括(仅仅我自己的经验):实施时可能的性能(很多设计要源码验证,比如浏览整个手机图片的速度,对内存的损耗是否一般手机能够承担,人机界面的响应是否满足用户的操作速度),实施时实现的难度(进度要求,实施者能力等),外部操作接口(如文件上传调用的异步操作和本界面的人机交互,大量数据处理过程和人机交互的关注和控制),异常情况的处理(如网速过慢,内存爆满等)。
     要点五:优化和完善,系统设计中重复代码需要进行重新的抽象,需要将部分代码抽象为widget,不断优化和完善,才能让系统更加优化。

3、几个复杂界面的设计介绍:



1、多主题下载:
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值