Pergunta

Gostaria de mostrar um campo de entrada personalizado (especificamente, um contendo apenas 9-0 e dois botões extras contendo separador decimal (, ou.) E um botão de exclusão).

Eu poderia criar um IME personalizado, mas (até onde eu sei) que teria que ser definido pelo usuário como o método de entrada em todo o sistema. Existe uma maneira de implementar um método de entrada e ligá -lo a um campo de entrada específico?

Obrigado pela ajuda!

Foi útil?

Solução

Eu acho que você está certo, pois não pode ter um IME personalizado que você usa apenas para campos específicos em seu aplicativo. Teria sido ligado globalmente pelo usuário.

Faça o que fizer, certifique -se de ter um apropriado InputFilter Para ir com qualquer método de entrada personalizado que você precise restringir a entrada de um teclado de hardware.

Como você definiu android:inputType Para o campo, isso adicionará um apropriado InputFilter automaticamente e também vai Diga o que quer que seja selecionado para exibir botões de entrada apropriados. Para o Android IME padrão, tudo isso é exibir a página numérica, em vez da página alfabética primeiro:

alt text

Outras dicas

Que tal usar um tipo "pop-up" personalizado em onde seu aplicativo implementa um onClick() ou onTouch() O ouvinte para a caixa de entrada para que, quando o usuário clique no campo de entrada para inserir um valor, eles veem uma nova atividade simples com o método de entrada substituído, conforme sugerido pelo @Dave Webb. Em teoria, não deve ser muito mais código ou sobrecarga.

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