Eu tenho uma tela onde o primeiro campo é um EditText, e ele ganha o foco na inicialização, também exibe o tipo de entrada numérica, o que é muito chato
Como posso ter certeza de que, quando a atividade for iniciada, o foco não será obtido e / ou o painel de entrada não será aumentado?
android
keyboard
popup
android-softkeyboard
Pentium10
fonte
fonte
Formats: flag Values: adjustNothing, adjustPan, adjustResize, adjustUnspecified, stateAlwaysHidden, stateAlwaysVisible, stateHidden, stateUnchanged, stateUnspecified, stateVisible Specify the default soft-input mode for the main window of this activity. A value besides "unspecified" here overrides any value in the theme.
vá para o arquivo de manifesto do seu aplicativo e escreva esta linha para a atividade que você deseja desabilitar o pop-up automático do teclado.
fonte
Para programaticamente não ter o teclado exibido, mas o widget padrão ainda receber a chamada de foco:
no
onResume()
fonte
ou simplesmente adicione a
android:windowSoftInputMode="stateHidden"
tag Activity emManifest.xml
fonte
Isso geralmente é uma bagunça. A primeira coisa que tento é tentar roubar o foco com outra visualização via. Você também precisa ter o focusable e focusableInTouchMode.
fonte
Faça outra visão agarrar o foco. Por padrão, a primeira Visualização focalizável obterá foco quando um layout for inflado. Você pode solicitar o foco em uma visualização diferente via XML:
Isso funciona para qualquer visualização.
Se quiser fazer isso programaticamente, você pode usar
view.requestFocus()
.fonte
fonte
edit
link e fazer as alterações. E tente formatar seu código selecionando-o e usando o botão Amostra de código{}
ou pressionandoCtrl+K
.Adicionar
android:windowSoftInputMode="stateHidden"
à sua atividade no manifesto apenas oculta o teclado quando você está iniciando a atividade, ou como o Google dizPara ocultar o teclado também quando o usuário pressiona o botão Voltar e volta para sua atividade de alguma outra atividade, use
android:windowSoftInputMode="stateAlwaysHidden"
fonte
não tentei fazer isso nem estou perto do meu computador de programação, mas suspeito que enviar o foco programaticamente para a visualização pai ou algo dessa natureza pode resolver o problema - isso é mais provavelmente uma solução alternativa do que uma solução, mas, novamente, não é possível testá-lo apenas um pensamento
fonte
.requestFocus();
um botão, e ainda o teclado aparece.