关于Android UI效果编程与思考 - 整理中

来源:互联网 发布:上海网络推广公司排名 编辑:程序博客网 时间:2024/05/21 00:55


    今天忙里偷闲看了篇文章 《写代码之前要做什么?》 引起思考一个问题,先写程序,还是先思考如何实现?

   《程序员修炼之道 - 从小工到专家》 中第6章 当你编程时 - 靠巧合编程, 也提到同样的问题, 看到很多人看这本书的笔记都会提到这一条,是啊,有多少程序是靠巧合编程,靠需要写完看完效果是否正确再修改的,有多少是即使写完了,还没完全搞明白是怎么回事的?


     说说Android UI的实现吧,以下是个人理解:


1. 选择UI解决方案

感觉UI分3要素  布局 + 视图绘制与响应移动 + 事件

布局有常用的几种或者继承ViewGroup自己控制, 或者说是某种控件的各种扩展布局

视图主要决定如何绘制 , 更细致的是如何控制onMeasure, onLayout, onDraw

事件主要是Touch事件及click, long click等处理


2. 了解视图各种值的情况

了解视图相关值的变化情况,例如视图的左上角是0,0 横向向右移动是x轴递增。

事件中x与rawX的区别等。

mScrollX和mScrollY 向下移动是负值,向上移动是正值等。。。


3.  视图相关计算

一些效果通常需要移动视图,其中少不了计算一些视图坐标等,如果简单的直接想想或者所便演算一下。

如果情况比较多,

2.1   建议最好直接在纸上画出各种情况(如果空间抽象能力很难强就不用了。。。。。)

2.2   分情况进行相应的计算

2.3   最好几种情况都出一组模拟数据进行试运算


可以使用测试驱动开发,校验各种分支情况



4.  遇到未知情况进行调整

步骤1 和 2 尤其是步骤2记录下来的好处是,当遇到自己非自己预期的情况,比较容易进行调整。

对系统认知肯定是有限的,也必要非得抽出时间把所有系统的所有细节都了解清楚,先按照思路去实现,途中遇到问题再查资料并思考解决方案。



原创粉丝点击