【问题标题】:functionality of touchscreens and user input触摸屏和用户输入的功能
【发布时间】:2012-09-26 05:59:53
【问题描述】:

我是一名业余(桌面)程序员,但我想涉足手机领域。我对应用程序有一些想法,但触摸屏和它的输入让我感到困惑......

我知道触摸屏可以接受多个触摸点。例如,放大你用两根手指将它们拉近..而缩小你做相反的事情。

这是我的问题...我从来没有在任何手机(我使用 Windows 手机和 android 手机)上看到任何手机应用程序的功能......触摸输入是多个点,但它没有同时开始。

为了便于说明,我举个例子。假设您在手机上有一个迷你浏览器……它有一个垂直滚动条……和一个水平滚动条。我 想要 做的是能够向下滚动...并且当我向下滚动时也滚动水平的,这样我就可以向左或向右移动页面。因此,在我触摸屏幕并开始向下或向上移动垂直滚动条几秒钟后......我想用不同的手指触摸水平滚动条并同时移动它。

这甚至可能吗?是否存在某些硬件或软件限制以防止此类事情发生?

【问题讨论】:

    标签: android ios windows-phone-7 mobile touchscreen


    【解决方案1】:

    您正在混淆手势和触摸。手势是触摸行为,例如...

    • 同时放置的两个手指彼此分开表示zoom-in
    • 点击并按住意味着弹出上下文。
    • 点击并拖动等于滚动。

    当您的应用不遵循这些约定时,您可以取消这些手势。例如,如果您点击并拖动一只鸟,愤怒的小鸟不会滚动,但如果您在场景的其他地方进行滚动,它会滚动。

    手势的默认状态是在您执行手势时检测额外的触摸。如果您滚动并引入第二根手指以单击按钮,同时仍按住滚动手指,则不会发生任何事情。我不确定您是否可以覆盖此行为(我也不认为这是一个好主意)。

    另一方面,触摸允许一定数量的同时触摸,具体取决于设备。当触摸不是手势时,您可以在第一次开始后开始第二次或 n 次触摸。

    您可以在http://raphaeljs.com/touches.html 亲自试用。

    现在,回到您的示例:这取决于它是如何实现的。如果您使用的是操作系统手势(在任何地方点击并拖动),那么不,您不能引入第二根手指来水平拖动,您将使用用于垂直滚动的同一根手指(用单指平移)。但是,如果您有实际的滚动条(例如鼠标界面中的滚动条),那么可以,您可以实现您所描述的那种界面。

    【讨论】:

    • 手势是指内置手势吗?
    【解决方案2】:

    是的,它可能,这取决于手机,但由于大多数 android 设备和所有 WP7 设备都支持多点触控,这应该不是问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多