实现类似HomeScreen的可水平滚动小部件?

时间:2011-03-07 20:45:12

标签: android user-interface widget homescreen

大多数Android设备都有一个主屏幕,您可以通过拖动水平滚动(其他人也有类似网格的2D滚动功能,但我只对水平滚动感兴趣)。

有人可以为我说明如何实现这一目标吗?

首先,我考虑使用自定义ViewFlipper。我可以为它添加适当的滑动动画,但它并不完全相同。在主屏幕上,“滑动量”取决于您在屏幕上拖动手指的距离。动画是点不管发的东西,我不能在中途阻止它们。

有什么想法吗?

以下是有关所需行为的视频:http://www.youtube.com/watch?v=UGdWM2TQNSo&feature=player_detailpage#t=104s

2 个答案:

答案 0 :(得分:3)

您可以在此处查看Android的股票启动器应用程序执行此操作的方式:https://android.googlesource.com/platform/packages/apps/Launcher2/+/master/src/com/android/launcher2/Workspace.java

您主要对onTouchEventonInterceptTouchEventcomputeScroll方法感兴趣。

答案 1 :(得分:0)

Google发布了兼容包,其中包含一些新的UI元素,您可以通过SDK Manager下载这些元素。

  • 将.jar文件放在sdkfolder/extras/compatibility的构建路径中。

  • 现在您可以使用名为ViewPager的类,其行为类似于Android主屏幕。

或者,如果您使用的是Eclipse和ADT插件v12或更高版本,只需右键单击您的项目,选择“Android Tools”,然后选择“添加兼容包”。