【问题标题】:Flex / Actionscript drag and drop / swipe effect (simulate android / ios interface)Flex/Actionscript拖拽/滑动效果(模拟android/ios界面)
【发布时间】:2012-04-02 12:14:18
【问题描述】:

我正在尝试模拟手机(ios / android)的界面...

  1. 拖动菜单,您将看到上一页或下一页内容的一部分
  2. 如果您拖动了超过 30% 的页面内容,请释放菜单。它将在当前页面和目标页面之间进行转换。

我只是想知道是否有任何库或 Flex 组件已经提供了上述功能?我用谷歌搜索了它,但没有得到与这些功能相关的任何信息(关键字错误?...)。我可以手动编码,但我想检查我的方法是否是最好的方法......

在此先感谢您。

【问题讨论】:

  • 如果您有任何发现,请告诉我们!我也一直在寻找提供该功能的库。

标签: android ios flash apache-flex actionscript


【解决方案1】:

使用 Flex Mobile SDK,您会注意到与原生 iOS 应用程序类似的界面、用户体验和功能。

List 组件的外观与 iOS 类似,例如滚动条的呈现方式以及在列表前弹出的能力。

我会看看来自 Adob​​e 的 Jason 的 Flex 博客,带有页面指示器皮肤的移动列表分页:

http://blogs.adobe.com/jasonsj/2011/11/mobile-list-paging-with-page-indicator-skin.html

<s:List id="pagedList"
        width="100%" height="100%"
        verticalScrollPolicy="off" horizontalScrollPolicy="on"
        pageScrollingEnabled="true"
        itemRenderer="renderers.BackgroundColorRenderer"
        skinClass="skins.PagedListSkin">
    <s:layout>
        <s:TileLayout orientation="rows" requestedRowCount="1"
                      columnWidth="{pagedList.width}" rowHeight="{pagedList.height}"
                      verticalGap="0" horizontalGap="0"/>
    </s:layout>
    <s:ArrayCollection id="colorData">
        <fx:Number>0xFF0000</fx:Number>
        <fx:Number>0xFF9900</fx:Number>
        <fx:Number>0xFFFF00</fx:Number>
        <fx:Number>0x00FF00</fx:Number>
        <fx:Number>0x0000FF</fx:Number>
        <fx:Number>0x9900FF</fx:Number>
    </s:ArrayCollection>
</s:List>

那里有项目的 FXP。

【讨论】:

  • 这些都是标准的 Flex 组件(不幸的是)不模仿@Rex 描述的行为。这里需要的基本上是一种获取当前接触点并基于该点拖动当前内容的方法。基本上是在 iOS 上的主屏幕之间滑动时的效果。然而,默认的 Flex 滑动手势并没有实现当前的触摸点,它只是为您提供一个索引,代表您滑动到的方向。
  • 如果我可以引用您发布的文章:“当此属性为 -1 时,滑动向左,当其 1 时,滑动向右。”。所以正如我所说,无论您向左还是向右滑动,滑动手势都会为您提供一个简单的索引,而不是@Rex 所需功能所需的实际接触点。这不是关于容器之间的转换,而是最终如何触发这种转换。您不能“拉”下一个容器,它在您拉动的范围内变得可见,如果您进一步拉动视图开关。 Flex 无法开箱即用。
  • 根据所需的整体模拟,扩展 Flex Mobile 可能比使用 Tweeners 滚动您自己的 iOS / Android 实现更可行。测量组件与关注滑动手势。各有各的 - 我发现这种类型的功能使用 SDK 是微不足道的。
  • 非常感谢@Jason Sturges 和@Al_Birdy 的回复:) 就像@Al_Birdy 所说的那样,我正在寻找一种方法来实现拉下一个容器并让下一个容器的一部分变得可见的功能。我刚刚看了TransformGestureEventViewNavigator。确实不符合要求。我目前的方法是......使用MouseEventTouchEvent 触发包含页面的大型容器的拖动动作。拖动停止后,找出起点和终点之间的差异,必要时开始过渡。还有其他建议吗?
【解决方案2】:

我认为您需要对 30% 逻辑/等进行编码。无论如何 - 但这里有一些你会发现有用的链接:

  1. TweenMax - 与你可以用它做的很酷的事情相比,超级方便,非常灵活,非常简单直接;当您想快速测试一个概念时特别有用
  2. 书中的chapter
  3. fl.transitions

【讨论】:

    猜你喜欢
    • 2011-02-25
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 2012-09-24
    相关资源
    最近更新 更多