android - ListView 和多点触控手势

标签 android listview gesture

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

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

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

这需要一些东西:

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

只要我能确定哪些项目是用两根手指跳过的,4 号就可能被黑掉。我可以拼凑出我自己的“选择”。完成此操作后,我将通过“菜单”按钮提供一些功能来对这些突出显示的项目执行某些操作。

这些看起来有可能吗?你怎么看?

最佳答案

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

#3,虽然,真的感觉它需要修改 ListView 本身,这让我觉得相当不愉快,因为 ListView(和 AbsListView) 代码。

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

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

关于android - ListView 和多点触控手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972869/

相关文章:

c - LVCOLUMN.cchTextMax 和 LVITEM.cchTextMax 的用途是什么?

android - 如何按位置从 ListView 获取 View 并将文本设置为项目?

flutter - 在Flutter中的嵌套 “onVerticalDragUpdate”上接收 “GestureDetectors”

android - 如何在android中以编程方式创建手势?

javascript - 如何知道Android中的webview是否在Canvas上绘图

android - 所有设备的 Bootstrap 列布局

Android Studio 3.0 模拟器 : Process finished with exit code 2

android - android风格声明中的 "?"是什么意思

android - 选项卡主机列表适配器和列表

opencv - Opencv中的手势识别