如何在滑动/拖动视图之间翻转视图

时间:2011-02-21 21:58:31

标签: android gesture

我想在我的Android应用中制作视图,在滑动/拖动时在多个视图之间翻转。我希望它的行为或多或少像Android Launcher在视图之间翻转时的行为。特别是,

  1. 它应该在滑动时翻转视图。
  2. 通常,滑动将在一个视图和下一个视图之间翻转。它不应该涉及所有观点。
  3. 如果你慢慢滑动,你应该看到拖动视图,例如。发射器的方式。
  4. 我根据Romain Guy的blog post here尝试使用带有GestureOverlayView的ViewFlipper,但是当用户正在滑动时没有指示用户。这使得可发现性变得困难,这可能是因为Launcher以他们的方式做到了这一点。

    我尝试使用Gallery对象,但是当我从左向右滑动时,会有一定的动量使用户在所有视图中晃动,而不是仅将它们带到下一个视图。

    有没有一种好方法可以完成我想要做的事情?

4 个答案:

答案 0 :(得分:27)

我知道这是一个老问题,但ViewPager是为了这个目的而创建的。 ViewPager是Android兼容包的一部分,更多内容可以在http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html

找到

答案 1 :(得分:14)

看看HorizontalPager。它实际上基于RealViewSwitcher,而ViewPager又基于Android主屏幕的代码,并支持具有拖动反馈的快照分页以及嵌套的垂直滚动子视图。快速滑动的手势支持并非应该如此,但这可能会让你在那里的一部分(我欢迎回馈)。

编辑:截至2012年,您最好使用Google的{{3}} - 它位于compat库中。

答案 2 :(得分:6)

查看此项目中的SwipeView https://github.com/fry15/uk.co.jasonfry.android.tools它完全符合您的要求并且实施起来非常简单。

答案 3 :(得分:0)

@CommonsGuy扩展了ViewFlipper来做到这一点。 https://github.com/commonsguy/cwac-viewswiper 我还没有使用过这个,所以我不确定它是否会像你的手指一样移动,如果不是你必须让OnTochListener在你身上为你做这个.ACTION_MOVE你将更新视图来改变它的位置。如果你没有得到另一个答案,我会在回家时发布一些示例代码。