2013-05-02 12 views
13

Ho un dialogfragment che contiene del contenuto incluso un campo EditText.
Sfortunatamente quando faccio clic sul campo EditText, il softkey copre il pulsante di annullamento per la finestra di dialogo. Questo è un problema che ho risolto utilizzandoDialogFragment non esegue il pan con SOFT_INPUT_ADJUST_PAN

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

Purtroppo, quando faccio questo, gli strizzacervelli di dialogo e altri elementi in esso si ricoprono. Ho provato a utilizzare SOFT_INPUT_ADJUST_PAN invece, ma solo l'attività di contenimento è stata regolata in quel caso, lo stesso dialogfragment non si è spostato ei pulsanti di annullamento sono ancora coperti. C'è un modo per fare solo il pan dialogfragment?

Il mio codice dialogfragment rilevante è simile al seguente:

@Override 
    public void onViewCreated(View view, Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 
     getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 
     mContactSupportView.findViewById(R.id.compose_message).clearFocus(); 
    } 
+0

Hai provato a inserire il codice su onresume invece, lo trovo più affidabile, quindi lo spengo in onPause se è quello che vuoi. –

+0

Qualche fortuna con la soluzione del problema? – Junaid

+0

un po 'di fortuna con la soluzione? Per favore aiuto –

risposta

1

finestra di dialogo Layout attr. dovrebbe essere match_parent. Quando apri la tastiera, apri la finestra di dialogo. Come la finestra di dialogo "Crea nuova cartella" di samsung galaxy.

0

Aveva lo stesso problema. Usato

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 

nel DialogFragment del onCreateView ma l'unica cosa che è stata panning era l'attività dietro di esso.

Il problema era che stavo impostando l'altezza della finestra di dialogo su MATCH_PARENT. Dopo aver modificato l'altezza con un valore esatto, DialogFragment effettua una panoramica corretta.