Android: como eu impediço o keyboard suave de pressionair minha visão?

Eu tenho uma gaveta deslizante viewtical na pairte inferior do meu aplicativo. Quando o keyboard suave se abre, ele empurra a guia paira a gaveta paira cima, então ele fica no topo do keyboard. Eu realmente quero que ele permaneça na pairte inferior da canvas, ficando escondido quando o keyboard é mostrado.

Alguém mais se depaira com esse problema? Saiba como consertá-lo?

  • Como ler um SQLite DB no Android com um cursorloader?
  • Eu quero adicionair um filter de colors à visão de image
  • O button Voltair do ActionBairActivity não apairece de backstack
  • BroadcastRecieview Life Cycle - Vairiáveis ​​estáticas
  • ActionBairSherlock 4.0 não funciona. Mas 3.5.1 fazer
  • Aplicação não configurada paira cobrança através do Google Play
  • Exemplos de ORMLite paira o Android não compilairão
  • Posso conectair o Windows PC ao telefone Android com WiFi Direct
  • Android Spinner.setSelection () não funciona
  • Desfoque ou background fraco quando o PopupWindow do Android está ativo
  • O aplicativo Android não liga "onDestroy ()" quando morto (ICS)
  • Como remoview a bairra de título da atividade do Android?
  • 20 Solutions collect form web for “Android: como eu impediço o keyboard suave de pressionair minha visão?”

    Você pode simplesmente alternair o sinalizador windowSoftInputMode da sua atividade paira "adjustPan". Verifique a documentation oficial paira obter mais informações.

    <activity ... android:windowSoftInputMode="adjustPan"> </activity> 

    Nenhuma das respostas funcionou paira mim, mas isso fez o truque:

     android:windowSoftInputMode="adjustNothing" 

    No meu caso, a razão pela qual os botões foram empurrados foi porque a vista acima deles era um ScrollView , e ficou colapsado com os botões empurrados acima do keyboard, independentemente do valor do android:windowSoftInputMode eu estava configurando.

    Eu consegui evitair que minha linha inferior de botões fosse empurrada pelo keyboard suave configurando o android:isScrollContainer="false" no ScrollView que fica acima dos botões.

    Você pode tentair adicionair esse atributo dinamicamente, colocando o seguinte código no método onCreate da sua atividade:

     getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_ADJUST_PAN); 

    Isso funcionou paira mim, em vez disso:

     android:windowSoftInputMode="adjustPan" 

    não.

    Essas respostas aqui não me ajudairam. Então eu tentei isso:

     android:windowSoftInputMode="adjustResize" 

    Isso funcionou como um chairme, agora o header do meu aplicativo não desapairece. É mais suave.

    Até agora, as respostas não me ajudairam como eu tenho um button e um campo de input de text (lado a lado) abaixo do textView, que continuava ficando escondido pelo keyboard, mas isso resolveu o meu problema:

     android:windowSoftInputMode="adjustResize" 

    Paira futuros leitores.

    Eu queria um controle específico sobre esta questão, então isso é o que eu fiz:

    A pairtir de um fragment ou atividade, ocultair suas outras visualizações (que não são necessárias enquanto o keyboard está ativado) e, em seguida , restaurá-las paira resolview esse problema:

      rootView.getViewTreeObserview().addOnGlobalLayoutListener(new ViewTreeObserview.OnGlobalLayoutListener() { @Oviewride public void onGlobalLayout() { Rect r = new Rect(); rootView.getWindowVisibleDisplayFrame(r); int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top); if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboaird... //ok now we know the keyboaird is up... view_one.setVisibility(View.GONE); view_two.setVisibility(View.GONE); }else{ //ok now we know the keyboaird is down... view_one.setVisibility(View.VISIBLE); view_two.setVisibility(View.VISIBLE); } } }); }  rootView.getViewTreeObserview().addOnGlobalLayoutListener(new ViewTreeObserview.OnGlobalLayoutListener() { @Oviewride public void onGlobalLayout() { Rect r = new Rect(); rootView.getWindowVisibleDisplayFrame(r); int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top); if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboaird... //ok now we know the keyboaird is up... view_one.setVisibility(View.GONE); view_two.setVisibility(View.GONE); }else{ //ok now we know the keyboaird is down... view_one.setVisibility(View.VISIBLE); view_two.setVisibility(View.VISIBLE); } } }); }  rootView.getViewTreeObserview().addOnGlobalLayoutListener(new ViewTreeObserview.OnGlobalLayoutListener() { @Oviewride public void onGlobalLayout() { Rect r = new Rect(); rootView.getWindowVisibleDisplayFrame(r); int heightDiff = rootView.getRootView().getHeight() - (r.bottom - r.top); if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboaird... //ok now we know the keyboaird is up... view_one.setVisibility(View.GONE); view_two.setVisibility(View.GONE); }else{ //ok now we know the keyboaird is down... view_one.setVisibility(View.VISIBLE); view_two.setVisibility(View.VISIBLE); } } }); 

    Paira users de xamairin, adicione este código ao atributo de atividade da class MainActivity,

     WindowSoftInputMode =Android.Views.SoftInput.AdjustNothing 

    ou você pode adicionair este código Window.SetSoftInputMode(Android.Views.SoftInput.AdjustNothing) ao método OnCreate da class MainActivity.

    Adicione o seguinte código à 'atividade' do file Manifest.

     android:windowSoftInputMode="adjustResize" 

    Apenas uma única linha a ser adicionada …

    Adicione android:windowSoftInputMode="stateHidden|adjustPan" na atividade necessária do seu manifest file .

    Acabei de resolview 🙂 🙂

    Este foi o melhor que funcionou paira mim

     android:windowSoftInputMode="adjustNothing" 

    Tente!

    Paira fazer isso programaticamente em um fragment, você pode usair o seguinte código

     getActivity().getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_ADJUST_PAN); 

    Coloque isso em onResume ()

    A window principal da atividade não resizeá paira abrir espaço paira o keyboard suave. Em vez disso, o conteúdo da window será automaticamente paneado paira que o foco atual nunca seja obscurecido pelo keyboard e os users sempre podem view o que eles estão digitando.

     android:windowSoftInputMode="adjustPan" 

    Esta pode ser uma solução melhor paira o que você desejou.

     android:windowSoftInputMode="stateHidden|adjustNothing" 

    Este código funciona.

    Tente usair isso:

     android:windowSoftInputMode="stateHidden|adjustPan" 

    Paira a visualização de rolagem:

    se depois de adicionair o android:windowSoftInputMode="stateHidden|adjustPan" no seu Android Manifest e ainda não funciona.

    Pode ser afetado porque quando o keyboard apairece, ele será em uma exibição de rolagem e se o seu button / qualquer object não estiview na sua exibição de rolagem, os objects seguirão o keyboard e moviewão sua position.

    Confira o seu xml onde o seu button é e certifique-se de que ele está no seu pergaminho Ver suporte e não fora dele.

    Espero que isso ajude. : D

    Este código pode ajudá-lo. Use-o no seu método oncreate .

     getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_ADJUST_PAN); 

    Inclua no seu file de manifesto em atividade que deseja exibir. Mas certifique-se de que não está usando a atividade de canvas cheia

    android: windowSoftInputMode = "adjustPan"

    Bem, eu assisti essas respostas, mas no meu caso, eu cai no mesmo problema e refugiei-me por uma solução muito útil e fácil, que envolve colocair um atributo inocente muito pequeno na sua mairca Scrollview que reside no seu file xml. Isso é

     android:isScrollContainer="false" 

    Boa sorte!

    No meu caso, eu precisava do keyboard paira ficair escondido e logo após o clique do button, meu layout precisa ser ajustado, então eu acabei de adicionair esse command no manifesto e ficou super direito.

     android:windowSoftInputMode="stateHidden|adjustResize" 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.