나는 안드로이드를 티타늄으로 타겟팅하고 있습니다. 기기에 터치 스크린이 있는지 여부를 어떻게 알 수 있습니까?장치에 티타늄 터치 스크린이 있는지 어떻게 알 수 있습니까?
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);
그러나 브라우저가 터치 이벤트를 지원 수 있으므로주의해야하지만 장치 수도 없습니다 (예를 들어, 크롬 (20)는 터치를하지 않는 장치에서 터치 이벤트의 많은 지원) : 하나 개의 솔루션입니다.
사용자가 버튼을 클릭하여 터치 이벤트가 전달되는지 아니면 클릭 만 표시되는지를 알 수 있습니다.
불행히도, 이것은 작동하지 않았습니다. 티타늄이 "표준"이벤트 이름을 사용하지 않는다는 것을 언급해야합니다. 그래도 고맙습니다. –
"버튼을 클릭하도록 사용자를 유도 하시겠습니까?" – RobG
나는 그것에 대해 생각해 봤지만 투명하게 (내 대답) 할 수있는 방법을 찾았습니다. –