ViewSwitcher实现程序列表分屏和动画效果

Android的Launcher界面功能菜单是一个列表,当应用程序较多时,可以向下滑动查看其它,如下图。那能不能将功能菜单做成横向拖动,并且分屏的效果呢?

本文对该问题进行研究,要达到的目标如下: 1、可以实现应用程序的分屏显示,当一屏放不下时,放入另一个屏。 2、屏与屏之间切换为横向。 3、屏与屏之间切换时有动画效果,一个屏退出,一个屏出现。 本文的方法暂时没有解决屏幕切换随着手的移动而逐渐切换的问题,但是本文的屏幕切换可以采用手势的方式。 分屏和横向显示不是很难解决的问题,香港虚拟主机,关键问题在于动画效果的实现。由于在屏幕切换时两个屏同时发生动画,一个退出,一个进入,美国空间,因此至少要同时存在两个View。实际上Android已经为我们考虑了这种情况。ViewSwitcher就是专门针对这种情况而设计的。 ViewSwitcher内部保存了两个View,通过我们的控制可以显示前一个和后一个,并且我们可以设置在切换中两个View的动画。View的生成为ViewFactory生成。该类还是比较简单的,需要详细研究参考google文档和源代码。多的不说,上代码吧。 首先我们模拟一下功能菜单的数据部分,也就是分几个屏,每个屏有哪些应用之类的东西。注释较多,不多解释。

然后,我们重载ViewFactory类,定义我们如何生成View,生成什么样的View。

从上面的代码我们可以看出,虚拟主机,我们生成的View实际是一个GridView,GridView要想和数据关联,则需要一个Adapter,因此我们下面定义该Adapter:

下面是继承ViewSwitcher的部分,用来实现两个屏的切换。

我们将在一个Activity中,将我们做好的东西实现。首先在布局中将我们写的SlideMenuSwitcher。

最后,实现我们的Activity:

好了,运行我们的应用程序,看下,效果是否是我们想要的?(动画效果没法抓图)

本文出自 “winux” 博客,谢绝转载!

享受每一刻的感觉,欣赏每一处的风景,这就是人生。

ViewSwitcher实现程序列表分屏和动画效果

相关文章:

你感兴趣的文章:

标签云: