【问题标题】:ListView and multi-touch gesturesListView 和多点触控手势
【发布时间】:2010-10-20 06:28:14
【问题描述】:

首先,我意识到这不遵循任何特定的约定。我只是想知道这是否可能。

我想让我的用户能够对 ListView 中的许多项目执行操作。我的 ListView 项目已经包含一个不同的复选框;并且添加另一个复选框不是一个选项(它看起来很难看?)。

我想知道是否可以通过确定两指滑动覆盖的项目来以编程方式突出显示多个项目。

这需要一些东西:

1) Android 的 ListView 必须能够确定两指滑动和单指滑动之间的差异。 2)我需要能够澄清两指滑动调用的代码。 3) 理想情况下,如果我用两根手指滑动,并且手指到达屏幕底部,ListView 将开始滚动;所以我可以继续突出显示最初不在屏幕上的项目。 4) ListView 必须能够突出显示多个选项。

只要我能确定哪些物品是用两根手指越过的,那么 4 号可能会被破解。我可以拼凑出我自己的“选择”。完成此操作后,我将通过菜单按钮提供一些功能来对这些突出显示的项目进行操作。

这似乎有可能吗?你怎么看?

【问题讨论】:

    标签: android listview gesture


    【解决方案1】:

    #1 和#2 可以通过GestureDetector 处理,位于ListView 之上。但是,这可能与#3 背道而驰。 #4 可能不会由标准的 Android“选择”状态处理,但您可以手动调整视图(例如,显示以前不可见的图标,更改某些东西的背景颜色)。

    不过,#3 确实感觉需要对 ListView 本身进行修改,考虑到 ListView(和 AbsListView)代码,这让我觉得相当不愉快。

    解决此问题的一种方法是将您的手势解释为附加(新的两指手势不会清除先前的多选,但会在现有多选的基础上增加更多),使用菜单选项来清除先前的选择。然后,用户可以选择一些、滚动、选择更多等等。

    话虽如此,我怀疑这不会很容易被发现。您假设人们会通过 RTFM 了解手势,并且我们都知道 的效果如何。将其作为一个选项很酷,但请确保以这种方式完成的任何事情也可以通过其他一些更传统的方式完成。

    【讨论】:

    • 感谢您的回复。有时间我会玩弄它,如果我想出任何东西,我会告诉你
    猜你喜欢
    • 2020-08-17
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2011-08-22
    • 1970-01-01
    相关资源
    最近更新 更多