由于接触android还不是太久,所以在开始接触launcher时,功能方面的实现自然有些地方需要到处去查找资料的。
但最烦人的还是弄不清楚一个view的xml,是如何做出五张连续的划屏界面的。
经过一段时间的研究,才稍微有点眉目。
原来在launcher风格主题里,最基础的一个类叫DragLayer的类,然后由DragLayer衍生出了workspace,最后出现了celllayout ---> DeleteZone
---> MenuBar ---> ProgramPage等组件。
而由于launcher的风格主题都沿用了同一个xml,即celllayout这个布局,然后在workspace中来确定5个celllayout间的使用顺序。
而在背景图画中,由于使用了android特有的方法将一张大于一个屏幕长度的图片平均分割成N份,在0~1之间以1/n的速度增长,然后每一次屏幕移动的时候,按照当前屏幕手指的划动速度,来决定到达那个小数上,决定背景图片的显示位置。
而每一张View上都有自己的应用程序记录,来决定快捷方式的显示