Pergunta

Estou gastando um tempo considerável para fazer minha interface do usuário trabalhar apenas com a entrada do teclado. Mas, no final, não tenho certeza se posso confiar na suposição de que todos os dispositivos Android têm todas as telas de toque.

Existe uma maneira de determinar se um dispositivo Android tem uma tela de toque?

Foi útil?

Solução

Você deve pesquisar os dispositivos existentes e ler o Documento de definição de compatibilidade do Android (CDD) e decida por si mesmo.

Passei um tempo considerável tentando descobrir esse problema para mim. Os pôsteres acima estão corretos que o Android já alimenta alguns dispositivos que não são de toque e alimentarão o Google TV em um futuro próximo, mas Como está atualmente, o CDD exige especificamente que todos os dispositivos Android devem ter uma tela sensível ao toque.

Basicamente, o programa de compatibilidade do Android foi criado para se proteger contra o tipo de fragmentação Questões que você está se preocupando agora. Ele lista vários requisitos e Se um dispositivo não atender a esses requisitos, ele não terá acesso ao mercado Android. Esses requisitos incluem uma tela sensível ao toque, comunicação sem fio, Bluetooth, uma câmera e muito mais.

Se você pesquisar esses tablets e netbooks, encontrará isso Nem um único carrega o mercado Android. Augen recentemente tentou puxar um rápido com seu novo tablet Genty 78, mas teve que rescindir suas reivindicações que o tablet carregaria o Android Market depois de ser abatido pela equipe de compatibilidade do Android.

Portanto, se você estiver distribuindo apenas seu aplicativo através do Android Market, não terá nada com que se preocupar até que o Google altere o CDD. Mas se você quiser oferecer seu aplicativo em outras lojas de aplicativos ou como download direto, precisará se preocupar com os problemas de navegação do modo de chave.

Se for um consolo, eu descobri que muitos muitos Os aplicativos têm exatamente o mesmo problema; Eles são impossíveis de usar sem uma tela sensível ao toque. Muitos deles também têm problemas sérios com o foco e o teclado suave. Às vezes, o teclado permanece quando deve estar oculto. Às vezes, você não pode fazer com que o teclado apareça, não importa quantas vezes clique em um EditText. IMO, a estrutura do Android não lida com essas coisas tão bem.

Dado tudo isso, certamente será interessante ver como o Google TV se encaixa em tudo isso. Eles atualizarão o CDD para serem compatíveis com suas caixas decorrentes? Eles usarão um SDK e CDD diferentes para implementações de TV do Google? Eles ignorarão completamente o programa de compatibilidade quando se trata do Google TV? Seu palpite é tão bom quanto o meu.

Atualizar:
Parece que alguém no Google finalmente se apresentou e admitiu que o Android não está pronto para correr em um tablet:http://phandroid.com/2010/09/10/shocker-google-says-android-not-meant-for-tablets-in-its-current state/

Para mim, isso diz que o Google não estava preparado para a adoção acelerada do sistema operacional do Android e não havia ratado adequadamente o futuro da plataforma. Telas de suporte maiores que 480x800 é quase possível, e a Samsung só conseguiu fazê -lo trabalhando em estreita colaboração com o Google na guia Galaxy. Portanto, não tenho tanta certeza de que precisamos nos preocupar com dispositivos não-touchscreen em um futuro próximo. Eles estarão aqui eventualmente, tenho certeza, mas quando chegarem, podemos ver um mercado de aplicativos separado apenas para esses, ou para algum esquema de filtragem alterado no mercado existente, um novo CDD, que sabe.

Para mim, isso diz que o Google ainda está jogando de ouvido, e teremos que fazer o mesmo.

Outras dicas

Todos os telefones até agora têm telas de toque, mas não há promessa de que devem.

No entanto, existem muitos netbooks, cadernos e em breve serão TVs que não têm tela de toque. No entanto, esses dispositivos têm ratos. Pelo que vi, a entrada do mouse é bombeada pelo sistema de toque, então Mousedown é Action_down, etc ... (não sei sobre o botão direito do mouse)

Você está atingindo apenas os telefones? Android está aparecendo em muitos dispositivos incluindo TVs Não faço ideia se novas libs serão lançadas para isolar partes dos dispositivos um do outro, mas se você quiser um público mais amplo, sugiro manter a entrada do teclado disponível se você estiver

O Google TV (GTV) é o dispositivo Notouch Android mais popular (no momento em que essa resposta é composta). No entanto, existem vários dispositivos que exigirão renderizações no NoTouch se você tiver recursos "notech" (por exemplo, um diretório como res/ layout-notoch/)

Para acomodar os dispositivos NoTouch, certifique-se de que o foco cause um indicador de seleção visual e (para GTV) que os ouvintes de pressionamento de teclas estejam no lugar para o botão central de padres direcionais. O uso de widgets e temas padrão geralmente realiza grande parte disso automaticamente. Se você fizer seus próprios botões, precisará de 9 patches de fundo para foco e focado+pressionado.

Correr em um GTV é um bom ambiente de teste para garantir que o notech funcione bem e GTV tem um emulador Agora, embora seja executado apenas no Linux/x86.

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