我使用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