2013-08-12 15 views
5

Nella mia app sto riscontrando un piccolo problema di esperienza utente;Mantenere lo stato di ingresso software/IME su Modifica dell'orientamento

Quando si passa da orizzontale a verticale (o verticale a orizzontale) con la tastiera a sfioramento aperta, la tastiera si nasconde.

Quello che voglio fare è fermare la tastiera nascondendo il cambio di orientamento.

(Edit - Non voglio forzare la tastiera aperta, se la tastiera è stato nascosto prima della modifica dell'orientamento, voglio che rimanga nascosta - voglio mantenere le tastiere di stato aperto/chiuso) .

Ho guardato intorno per una risposta e sembra aggiungendo stateUnchanged alle windowSoftInputMode opzioni nel manifesto per la Activity è il modo corretto per risolvere questo (come descritto nella android documentation:

android:windowSoftInputMode="stateUnchanged|adjustResize" 

Il problema è questo sembra avere alcun effetto.

qualcuno sa di eventuali avvertimenti a questa funzionalità? ha forse non funziona se la EditText che si concentra è in un Fragment?

+0

E 'un peccato nessuno ha risposto a questa. Sto avendo un problema simile in cui non funziona solo per un Samsung s6 in un frammento di dialogo. –

+0

Ho quasi lo stesso problema. Ho postato anche una domanda: http: //stackoverflow.com/questions/39173171/keyboard-dismissed-on-rotation-to-landscape-mode-android – sr09

+0

Hai una soluzione a questo problema ora? – sr09

risposta

0

aggiungere questo al tuo codice e che funzionerà:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
+2

Questo costringe la tastiera a essere visibile - Quello che voglio fare è mantenere lo stato della tastiera attraverso il cambio di orientamento. – Graeme