Eu tenho uma atividade sem widgets filho para ela e o arquivo xml correspondente é,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="true"
>
</LinearLayout>
e eu quero abrir o teclado virtual programaticamente enquanto a atividade começa. e o que tentei até agora é,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
Dê-me alguma orientação.
android
android-softkeyboard
Vignesh
fonte
fonte
Respostas:
Usei as seguintes linhas para exibir o teclado virtual manualmente dentro do evento onclick, e o teclado está visível.
Mas ainda não consigo abrir enquanto a atividade é aberta. Existe alguma solução para isso?
fonte
Em seu arquivo de manifesto, tente adicionar o seguinte ao
<activity>
que deseja mostrar no teclado quando a atividade começar:android:windowSoftInputMode="stateVisible"
Isso deve fazer com que o teclado fique visível quando a atividade começar.
Para mais opções, verifique a documentação .
fonte
Por favor, siga o código abaixo. Tenho certeza que seu problema será resolvido.
fonte
Isso funciona
ou
fonte
Tudo que eu precisava era expor o teclado, em um momento muito preciso. Isso funcionou para mim! Obrigado Benites.
E no momento exato:
fonte
postDelayed( runnable, 500 /* msec */ );
Usei as seguintes linhas para exibir o teclado virtual manualmente dentro do evento onclick.
fonte
Coloque isso no método onResume:
o executável é necessário porque quando o sistema operacional dispara o método onResume, você não pode ter certeza de que todas as visualizações foram desenhadas, portanto, o método post chamado de seu layout raiz o faz esperar até que todas as visualizações estejam prontas.
fonte
parece que isso está funcionando
parece que funciona melhor: no manifesto:
parece que o manifesto está funcionando no Android 4.2.2, mas não no Android 4.0.3
fonte
no método de atividade onCreate ou onActivityCreated de um fragmento
fonte
Usei assim para mostrar o teclado virtual de maneira programática e isso funcionou para mim para evitar o redimensionamento automático da tela ao iniciar o teclado.
No manifesto:
Em XXXActvity:
Presumo que isso poupará tempo de outras pessoas para pesquisar esse problema.
fonte
Kotlin
Java
fonte
fonte
Eu usei como singleton como:
Use-o em suas atividades como:
fonte
Isso funciona:
E você chama esse método assim:
fonte
InputMethodManager.SHOW_FORCED não é uma boa escolha. Se você usar esta configuração, deverá gerenciar ocultar o estado do teclado. Minha sugestão é a seguinte;
Além disso, você pode focar na visualização (geralmente EditText) tomando seus parâmetros. Isso o torna uma função mais útil
para obter mais informações sobre InputMethodManager.SHOW_IMPLICIT e SHOW_FORCED; InputMethodManager
fonte
Este é o código-fonte necessário:
Para obter detalhes, acesse este link. Isso me ajudou. https://github.com/Nikhillosalka/Keyboard/blob/master/README.md
fonte
Use o código acima em onResume () para abrir o teclado virtual
fonte
Semelhante à resposta de @ShimonDoodkin, foi o que fiz em um fragmento.
https://stackoverflow.com/a/29229865/2413303
Onde
ShowKeyboard
estáDepois de uma entrada bem-sucedida, também oculto o teclado
fonte
fonte
Já existem muitas respostas, mas nada funcionou para mim além disso
Eu usei
showSoftInput
comSHOW_FORCED
E minha atividade tem
espero que isso ajude alguém
fonte
Poste este método em sua atividade base e use-o em outras atividades como um feitiço
fonte