Pergunta

Eu tenho procurado uma maneira de detectar a orientação do dedo com uma simplificação da área de toque na forma de uma elipse, ao usar um dispositivo de toque móvel. Eu escolho Android em vez de iOS desde que encontrei três métodos úteis ( getToucmajor () , getTouchminor () , e getorientation () ) em A referência Android para o Classe MotionEvent . Mas eu tentei implementar esses três métodos no meu aplicativo e, infelizmente, eles não retornam os valores desejados. A orientação permanece em 0, não importa o que, enquanto o GetToucmajor e GetTouchminor é exatamente o mesmo a cada vez.

Então a minha pergunta é: estou fazendo um pouco errado ou é que esses métodos ainda não são implementados ainda?

(Eu tentei as funções em vários dispositivos diferentes, incluindo: Nexus 5, Nexus 7 e HTC One)

Foi útil?

Solução

Como trabalhamos juntos, sei que você conhece esta resposta, mas eu só queria colocar isso de tal forma que os colegas de stackoverflow possam tê-lo também.

Encontramos comentários sugestivos que talvez os drivers da tela sensível ao toque para a maioria dos dispositivos não fornecem esses dados ao sistema.

Nós formamos originalmente: Samsung Galaxy S2, HTC One, Nexus 5 (por LG) e Nexus 7 (por Asus), Samsung Galaxy Tap 3.

Ao contrário dos outros, a Samsung Galaxy Tap 3, deu valores diferentes para GetToucmajor () e GetTouchminor (), mas esse relacionamento foi visto GetToucmajor ()= GetTouchminor () * 3, e getorientation () foi sempre 0, como com todos os outros dispositivos.

Cerca de 2 meses depois, descobrimos que o google nexus 10 pode mostrar uma elipse com uma linha de direção, quando você ativar Entrada: local de ponteiro em configurações de desenvolvedor. .

A conclusão inicial foi que a maioria dos dispositivos não suporta, gettoucmajor (), getTouchminor (). ou getorientation (), que poderia ser uma limitação das telas de toque capacitativo. Mas vendo o nexus 10 , e o rastreamento da elipse e orientação dá esperança de novo design de interação.

Isso indica que alguns dispositivos entregam no GetTouchminor e gettoucmajor, bem como orientação. (ou versões históricas das mesmas funções). Eu não tive a chance de codificar nada para o dispositivo, mas parece plausível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top