【问题标题】:Difference between OnTouchListener and OnClickListenerOnTouchListener 和 OnClickListener 的区别
【发布时间】:2011-07-19 03:46:55
【问题描述】:

我制作了一个实现View.OnTouchListener 的应用程序。但是当我将它上传到 Android Market(Google Play 商店)时,我收到了以下消息:

此 apk 请求将用于 Android Market 的 1 个功能 过滤:android.hardware.touchscreen

我真的不需要触摸屏本身。您也可以“单击”视图,这很好。如果我使用OnClickListener 而不是OnTouchListener,这个要求会消失吗?

有多少百分比的 Android 设备没有触摸屏?从OnTouchListenerOnClickListener 的这次更新对于新的潜在用户来说是否值得?

【问题讨论】:

  • 最大数量的 Android 手机有触摸屏,所以使用 OnTouchListeners 比使用 OnClickListeners 更好
  • Rosalie 上面的评论暗示 OnClickListener 不适用于触摸屏设备——这完全是错误的。正如 cdhabecker 的回答所说,选择更多地取决于您想要完成的任务。

标签: android view ontouchlistener


【解决方案1】:

OnTouchListener 用于比 OnClickListener 更细粒度的控制。如果你真正关心的是点击——即向下触摸/向上触摸/无拖动的组合——那么使用 OnClickListener,这就是它的目的。

【讨论】:

  • 我不需要细粒度的控制,所以希望使用 OnClickListener 会增加潜在市场。顺便说一句,我尝试将代码更改为 OnClickListener,创建了一个不支持触摸屏的 AVD,并启用了轨迹球(Windows 中的 F6 键)。但是,当在模拟器中运行应用程序时,我没有得到关于光标位置的任何视觉反馈,并且使用随机点击和轨迹球移动我无法让事件发生。我错过了什么吗?
  • 我自己没有尝试过非触摸屏 AVD。我不相信模拟器功能可以正常工作,所以我建议您首先在模拟器的浏览器应用程序上测试您的轨迹球设置。另外,请尝试模拟器的箭头键。如果它们在浏览器应用程序上运行,但不是您自己的,那么您可能无意中将视图对象设置为不可点击或不可聚焦。
  • @Rob 听起来好像这个答案就是您所需要的;你愿意接受吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 2012-07-19
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多