2010-04-01 7 views
7

Desidero essere in grado di regolare lo schermo dell'interfaccia utente su Android quando viene visualizzata la tastiera software.Android - Regola lo schermo quando viene visualizzata la tastiera?

Quindi in questo momento ho qualcosa di simile alla prima immagine qui sotto dove ho e EditText nella parte inferiore dello schermo e quando un utente tocca EditText voglio lo stesso di quello che succede nella seconda immagine.

Vale a dire che EditText viene spostato verso l'alto e sembra "sedersi" sulla parte superiore della tastiera virtuale, quando la tastiera virtuale scompare dovrebbe tornare al suo stato precedente.

Qualcuno può farmi sapere il modo migliore per avvicinarsi e implementare questo?

alt text http://img40.imageshack.us/img40/2300/keyboarddown.png


alt text http://img46.imageshack.us/img46/9339/keyboardup.png

risposta

15

È necessario aggiungere android:windowSoftInputMode="adjustResize" al tag nel file AndroidManifest.xml.

+0

In quale tag ??? Penso che il tag '', ma non ha fatto nulla. Per favore rispondi. –

+0

Sì, appartiene al tag attività (consultare [i documenti] (http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft), come menzionato da @Samuh nella sua risposta. Non sono sicuro del motivo per cui non funziona per te, mi spiace. – rascalking

+0

Abbiamo già scritto questa riga nel file manifest e la tastiera funziona bene in modalità verticale, ma in modalità orizzontale la tastiera nasconde i campi di input. – Deeps

2

Ho risolto questo problema in base alla risposta di rascalking.

Dialog dialog = new Dialog(context); 
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
dialog.setContentView(R.layout.pop_window_service); 
WebView webview = (WebView) dialog.findViewById(R.id.pop_webview); 
webview.loadUrl(url); 

credetemi funziona.