我想实现像 Android 日历周视图这样的东西,您可以在其中移动周 - 或者像 Talk 应用程序一样,您可以在对话之间切换。换句话说,我希望能够拖动视图,而不仅仅是滑动它们。
我似乎唯一能做的就是在滑动动作后切换视图(带有滑动动画)。在我提到的两个示例中,视图实际上是被拖动的,即在屏幕上移动手指时显示动画。
我一直在浏览日历源,但所涉及的类是如此之大,我无法理解它。
有没有人做过这样的事情,或者是否有任何(相对简洁的)来源可用?
干杯。
我查看了日历代码,这就是我所理解的:
WeekActivity
包含ViewSwitcher
由两个组成的a CalendarView
。当用户产生滚动事件时,该事件被检测到CalendarActivity
并获取滚动的X坐标。当前视图失效,调用onDraw()
CalendarView 的函数(该onDraw()
方法是绘制网格和事件的地方)。
在onDraw()
中,使用 X( canvas.translate(x)
) 平移画布,并onDraw()
调用 ViewSwitcher 的另一个视图的方法来填充其余内容。
我希望在我的应用程序中具有相同的行为,但我选择使用图库并对其进行修改以满足我的需要。