【问题标题】:How can I make my page slide as the user slides finger on the screen?当用户在屏幕上滑动手指时,如何使我的页面滑动?
【发布时间】:2011-02-11 11:19:43
【问题描述】:

当用户在屏幕上滑动手指时,如何使我的页面滑动?任何示例代码?

我只需要与我的 android g-phone 主屏幕上相同的感觉。屏幕随着手指的移动而移动(也包括弹性效果)。

【问题讨论】:

  • 你能做动画吗?我正在寻找这样的东西。我知道它可能与花哨的计算、感知手势等有关。只是想知道是否有任何简单的方法,比如使用 Horizo​​ntalScrollBar 并向其添加视图,然后设置一些参数并完成!
  • @Maxood 你能做到吗.....

标签: android slider


【解决方案1】:

在 Warriorspoint 上查看此 tutorialits follow up。他们解释了如何使用 ViewFlipper 平滑地动画从一个屏幕到另一个屏幕的过渡,然后在第二部分中如何使用触摸控制来做到这一点。请注意,这些是全屏转换,不会在现有页面上平移。对于平移,例如对于不适合屏幕的超大图像,请查看Android BigImage。根据您尝试执行的操作,这些操作可能有点过头了,但并不是 100% 清楚您想要实现的目标。

【讨论】:

  • 这两种方法无法识别,因为可能没有提供动画。 vf.setAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out)); vf.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));此外,当我评论这两行并运行代码时......我只是得到切换效果而不是滑动效果。请解释
  • 您是否按照步骤 4 并从 ApiDemos 导入动画?如果你注释掉这两行,你就会得到切换效果,因为这两行告诉它使用滑动效果......
  • 很好。我这样做并获得了滑动效果,但无法用手指按住页面,因为可以在主触摸屏上做到这一点。我如何在用手指拖动/滑动时按住页面?因为当页面进行到一半时,可以用手指按住它。谢谢
  • 这可能有点复杂。您可以尝试结合这两个教程的技术:使用 BigImage 技术允许用户在屏幕上滚动,但如果一旦他们移过某个点(即,将其移出屏幕 70%),则假设这是页面更改并使用 ViewFlipper。我不确定这是否可行……您必须进行试验或等待另一个答案!
  • 我如何计算一个屏幕/页面已经移过了某个点(即移出了屏幕 70%)?
【解决方案2】:
【解决方案3】:

ViewPager。事后,这似乎更完整的是addressed

无论您是刚开始进行 Android 应用开发还是 手艺的老手,可能不久之后你就会需要 实现水平滚动的视图集。许多现有的 Android 应用程序已经使用这种 UI 模式,例如新的 Android 市场、谷歌文档和谷歌+。 ViewPager 将 实施。

【讨论】:

    【解决方案4】:

    主屏幕由两层组成:

    • 显示图像的背景(或工作区);该层滚动并以不同的滚动值绘制壁纸。工作区的行为或多或少类似于简化的水平布局

    • 显示图标的屏幕(或 CellLayouts);该层由 3 个并排的 CellLayout 组成。 CellLayout 是一种自定义的类似网格的布局。

    使用 VelocityTracker、Scroller 和常规 View.scroll 方法实现投掷。

    【讨论】:

      【解决方案5】:

      使用图库视图

      【讨论】:

      • 您确定画廊视图可以使用吗?我可以用手指将页面按住一半吗?
      【解决方案6】:

      您将需要手势检测器 - 考虑的类/接口是:

       1. android.view.GestureDetector
       2. android.view.GestureDetector.SimpleOnGestureListener
      

      感兴趣的方法是onFling

      现在,根据各个方向的 X、Y 和速度,您可以在相应位置“绘制视图”/“在活动或视图组的情况下重新定位嵌套视图”。

      可以在任何游戏示例中找到如何重绘的示例,例如 Android 中的 LunarLander http://developer.android.com/resources/samples/LunarLander/src/com/example/android/lunarlander/LunarView.html

      【讨论】:

        【解决方案7】:

        我为我的应用程序做了这个,只是想我会分享我的解决方案。

        Android Homescreen

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-11
          • 1970-01-01
          相关资源
          最近更新 更多