2014-04-05 12 views
5

Ich versuche, die Breite von DialogFragment zur Laufzeit zu bekommen, habe ich zwei Methoden ausprobiert, die fehlgeschlagen sind.DialogFragment - Get Breite des Dialogs

Erstens: innen onCreateDialog nach dem Dialog

erstellt wurde
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    ... 
    ... 
    AlertDialog dialog = builder.create(); 
    width = dialog.getWindow().getAttributes().width; 
    return dialog; 
} 

width wurde auf -1

Zweitens:

public void onStart() { 
    width = getDialog().getWindow().getAttributes().width; 
} 

width wurde auf -2

+0

Bitte versuchen Sie http://StackOverflow.com/a/10118459/2553526 oder http://StackOverflow.com/A/18272220/2553526 –

+0

@FaisalAli diese Methoden scheinen für die Aktivität und nicht für das Fragment gelten Objekte. – Calc

Antwort

2

Gelöst mit einem ViewTreeObserver set in onCreateDialog

Verwandte Themen