32

我想在我的 Android 应用程序中创建一个视图,该视图在滑动/滑动时在多个视图之间翻转。我希望它的行为或多或少像 Android 启动器在视图之间翻转时的行为。尤其是,

  1. 它应该在滑动时翻转视图。
  2. 通常,滑动会在一个视图和下一个视图之间翻转。它不应该跨越所有视图。
  3. 如果您缓慢滑动,您应该会在滑动时看到视图拖动,例如。启动器的方式。

根据 Romain Guy 的博客文章,我尝试使用带有 GestureOverlayView 的 ViewFlipper ,但是在用户滑动时没有任何指示。这使得可发现性变得困难,这大概就是 Launcher 这样做的原因。

我尝试使用 Gallery 对象,但是当我从左向右滑动时,会有一定的动力让用户浏览所有视图,而不是仅仅将他们带到下一个视图。

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

4

4 回答 4

27

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

于 2011-08-25T16:01:25.527 回答
14

看看Horizo​​ntalPager。它实际上基于RealViewSwitcher,后者又基于 Android 主屏幕的代码,并支持带有拖动反馈的快速分页,以及嵌套的垂直滚动子视图。对快速滑动的手势支持并不是全部,但这可能会让你成为其中的一部分(我欢迎回馈贡献)。

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

于 2011-02-21T23:04:32.657 回答
6

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

于 2011-02-21T22:30:46.440 回答
0

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

于 2011-02-21T22:15:08.347 回答