我使用Titanium来定位Android。我如何知道设备是否有触摸屏?如何检测设备是否在Titanium中有触摸屏?
0
A
回答
0
这是我想出的解决方案。这真的很愚蠢,但它有效。无论你创建你的应用程序窗口,添加以下代码:
function touchStart(){
Titanium.App.Properties.setBool("touch", true);
self.removeEventListener("touchstart", touchStart);
}
self.addEventListener("touchstart", touchStart);
替换self
与你的窗口的名称。现在,第一次检测到触摸事件时,应用程序属性将被设置。
后来,检查存在触摸本:
var touchSupported = Titanium.App.Properties.getBool("touch", false);
如果你是在模拟器上测试这一点,当你改变“设备”属性可能会持续甚至。所以添加此行之前的任何其他:
Titanium.App.Properties.setBool("touch", false);
1
最简单的方法是测试触摸事件支持。如果它们得到支持,那么该设备可能具有触摸屏。如果没有,它可能不会或者你无法使用它们。一个解决方案是:
var touchSupported = ('ontouchstart' in window);
但要小心,因为浏览器可以支持触摸事件,但该设备可能不会(例如Chrome浏览器20支持大量的触摸事件的设备没有触摸)。
您或许可以让用户点击一个按钮并查看触发事件是发送还是点击。
相关问题
- 1. Xamarin表单 - 如何检测设备是否是触摸设备?
- 2. 检测是否在Android设备屏幕上停止了触摸
- 3. 如何检测PHP中的所有触摸和非触摸屏设备?
- 4. 触摸屏测试设备
- 5. 如何检测用户是否在主屏幕上触摸设备小部件?
- 6. 检测触摸设备
- 7. 如何检测Android设备是否被触摸或移动
- 8. 检测屏幕是否被触摸
- 9. onClick事件是否会触摸触摸屏设备?
- 10. 如何使用51degrees.mobi检测触摸屏移动设备
- 11. 检测设备是否启用触摸并且低于某个屏幕尺寸
- 12. 如何检测屏幕是否触摸敏感?
- 13. 是否有用于触摸屏设备的Opensource浏览器?
- 14. 是否有可能通过检测触摸到屏幕来让设备从睡眠中醒来(屏幕黑暗)?
- 15. 触摸屏设备的pygtk
- 16. 在非触摸屏安卓设备上模拟触摸屏
- 17. 检测Windows 8商店应用是否具有触摸屏
- 18. 如何检测触摸屏的形状
- 19. 如何检测何时在触摸设备上显示键盘?
- 20. 检测触摸屏桌面
- 21. 触摸屏检测:铬17
- 22. 检测黑莓触摸屏?
- 23. createTouch vs ontouchstart - 检测触摸屏设备的最佳方式?
- 24. Qt for Symbian - 检测触摸/非触摸设备
- 25. 如何检测JavaScript中的设备触摸支持?
- 26. 检测触摸是否停在屏幕上
- 27. 如何检测触摸事件是否落在EditText中?
- 28. CSS - 在触摸屏设备只
- 29. 触摸后如何检测触摸
- 30. 如何确定设备是否触摸屏在Lotus脚本注册表
不幸的是,这并没有奏效。我应该提到Titanium不使用“标准”事件名称。无论如何,谢谢你。 – 2012-08-14 16:08:12
“让用户点击按钮”的想法如何? – RobG 2012-08-15 03:25:57
我确实考虑过这个问题,但我找到了一种透明地做到这一点的方法(我的回答)。 – 2012-08-15 15:10:31