2009-05-28 5 views
3

트랙볼의 움직임에 따라 화면에서 이미지를 이동하고 싶습니다. onTrackballEvent 메서드를 사용하여 움직임을 캡처 할 수 있습니다. 그러나 이것은 트랙볼의 매우 작은 부유 값 (각 회전마다 믿을만한가?)에 대해 요구되고 있습니다.Android - 트랙볼 이벤트가 종료 되었습니까?

이제 LayoutParams로 지정할 때 뷰의 X 및 Y 위치가 정수 여야하므로 모든 회전과 함께보기를 이동하는 것은 의미가 없습니다. 대신 사용자가 트랙볼 회전을 멈춘 후에 만보기를 이동하려고합니다.

사용자가 트랙볼 사용을 중지했는지 여부를 알 수있는 방법이 있습니까?

답변

1

안드로이드에 대해 잘 모르는 경우, 일반적인 방법은 각 이벤트에서 타이머를 시작하고보고 된 델타를 추적하는 것입니다. X와 Y). 이후의 모든 이벤트에서 타이머가 트리거되기 전에 동일한 타이머를 다시 시작하여 트리거링을 앞으로 더 밀어 넣으십시오.

이벤트 생성이 중지되면 결국 타이머가 트리거되고 모든 동작의 합계를 적용하고 합계를 지울 수 있습니다.

사용자 상호 작용이 너무 느려지지 않도록 적절한 시간 초과를 선택해야합니다. 아마도 200-300 밀리 초 정도의 무언가 일 것입니다. "옳은"느낌이들 때까지 조정할 수 있습니다.

1

또한 임계 값 설정에서 많은 가치를 얻었습니다. 따라서 특정 방향으로의 총 이동이 주어진 양만큼 증가하면 탐색 이벤트가 트리거됩니다.

+0

감사합니다. 그게 내가 한 짓. 차이가 중요한 항목으로 바뀌면보기의 위치가 변경됩니다. – lostInTransit

관련 문제