2

我想实现像 Android 日历周视图这样的东西,您可以在其中移动周 - 或者像 Talk 应用程序一样,您可以在对话之间切换。换句话说,我希望能够拖动视图,而不仅仅是滑动它们。

我似乎唯一能做的就是在滑动动作后切换视图(带有滑动动画)。在我提到的两个示例中,视图实际上是被拖动的,即在屏幕上移动手指时显示动画。

我一直在浏览日历源,但所涉及的类是如此之大,我无法理解它。

有没有人做过这样的事情,或者是否有任何(相对简洁的)来源可用?

干杯。

4

2 回答 2

1

我查看了日历代码,这就是我所理解的:

WeekActivity包含ViewSwitcher由两个组成的a CalendarView。当用户产生滚动事件时,该事件被检测到CalendarActivity并获取滚动的X坐标。当前视图失效,调用onDraw()CalendarView 的函数(该onDraw()方法是绘制网格和事件的地方)。

onDraw()中,使用 X( canvas.translate(x)) 平移画布,并onDraw()调用 ViewSwitcher 的另一个视图的方法来填充其余内容。


我希望在我的应用程序中具有相同的行为,但我选择使用图库并对其进行修改以满足我的需要。

于 2011-05-06T00:30:02.290 回答
1

您应该使用android 兼容包中的ViewPager

是一个很好的起点。这将完全符合您的要求。

于 2012-02-13T07:37:56.917 回答