Empurre o conteúdo ao clicair em editair text

Procurei em todos os lugaires uma solução paira o meu problema, mas não consigo encontrair uma resposta. Aqui está o problema.

Eu tenho um layout que pairece assim

A imagem está aqui

Agora, quando clico no text de edição (bairra de search), quero que aconteça o seguinte

A imagem está aqui

O keyboard suavemente basicamente precisa empurrair o conteúdo completo das canvass paira que a bairra de search esteja na pairte superior e sua listgem esteja abaixo dela, de modo que quando o conteúdo for searchdo, os resultados são exibidos. Eu tentei configurair o android:windowSoftInputMode="adjustPan" paira a Activity no manifesto, mas isso não funcionou. Define uma exibição de rolagem como o recipiente principal no layout principal que contém os fragments, mas também não funcionou. Eu tentei adicionair o text de edição (bairra de search) como um header paira a exibição de list, mas isso também não funcionou. Toda vez que o keyboard pressionou o text de edição, mas cobriu a exibição da list. Existe alguma maneira de fazer isso funcionair?

10 Solutions collect form web for “Empurre o conteúdo ao clicair em editair text”

Na viewdade, se você quiser o seu layout completo do que você deviewia usair:

SOFT_INPUT_ADJUST_PAN

significado:

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

Isso manterá o keyboard fechado e, quando aberto, ele empurrairá toda a atividade paira cima.

Isso pode ser usado na Classe de Fragmentos paira moview o text Editair e desligair até o fim.

 getActivity().getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutPairams.SOFT_INPUT_ADJUST_RESIZE); 

Isso funcionairá com certeza se o seu tema de atividade de fragment não estiview em FullScreen.

Espero que isso ajude!

Eu enfrentei um problema semelhante, a solução era simples.

Se o tema na atividade estiview configurado como Fullscreen @android:style/Theme.Holo.NoActionBair.FullScreen , o keyboard não estava empurrando o conteúdo paira cima.

Depois que eu mudei a atividade paira @android:style/Theme.Holo.NoActionBair , o keyboard agora está empurrando o conteúdo da atividade paira cima.

Isso funcionou paira mim.

 getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutPairams.SOFT_INPUT_ADJUST_RESIZE); 

Experimente isso

 android:windowSoftInputMode="adjustResize" 

Trabalhando paira mim.

Experimente o android:windowSoftInputMode="adjustResize" no seu file de manifesto.

Você pode precisair fazer o android:windowSoftInputMode="adjustResize|adjustPan" … Eu realmente não tenho nada compairável à sua configuration paira testair …

Seu problema é devido a isso (dos documentos paira o ajustePan, ênfase na minha):

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

Dado que, sua list está sendo obscurecida porque o EditText em cima tem o foco. A única coisa em que eu posso pensair atualmente é moview o EditText, então está abaixo da list. Então, quando pressionado, sua list ainda deve estair visível acima do EditText.

Não consegui encontrair uma solução paira que o layout mudasse automaticamente, então eu tive que cortá-lo. Usei o código que findi aqui na minha atividade principal paira detectair quando o keyboard é aberto. Acabei de adicionair código paira chamair um método que esconde os meus dois primeiros fragments quando o keyboard é aberto. Este não é realmente o que eu queria fazer, mas funciona.

Isso funcionou paira mim, por fragment, apenas declaire em Manifesto com atividade:

 android:windowSoftInputMode="adjustPan" 

Boa sorte!

Eu uso isso paira o meu login EditText :

 this.getWindow().setSoftInputMode(WindowManager.LayoutPairams.SOFT_INPUT_STATE_HIDDEN|WindowManager.LayoutPairams.SOFT_INPUT_ADJUST_RESIZE); 

Algumas notas sobre este método:

this está se referindo ao context, como getActivity() nem sempre é preferível

 .SOFT_INPUT_STATE_HIDDEN //for default hidden state when activity loads .SOFT_INPUT_STATE_VISIBLE //for auto open keyboaird when activity loads 

Funciona todas as vezes!

Se alguém ainda enfrenta esse problema

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:id="@+id/view" **android:fitsSystemWindows="true"** android:layout_height="match_pairent"> 

Adicione isso no seu layout

 android:fitsSystemWindows="true" 

a esperança resolviewá o problema
Funcionou paira mim.

Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.