2014-04-05 29 views
5

Próbuję uzyskać szerokość DialogFragment w czasie wykonywania, próbowałem dwóch metod, które nie powiodły się.DialogFragment - Uzyskaj szerokość okna dialogowego

Pierwszy: w onCreateDialog gdy okno jest utworzone

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

width ustawiono -1

drugie:

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

width ustawiono -2

+0

Proszę spróbować http://stackoverflow.com/a/10118459/2553526 lub http://stackoverflow.com/a/18272220/2553526 –

+0

@FaisalAli te metody wydają się mieć zastosowanie do działania, a nie do fragmentacji obiekty. – Calc

Odpowiedz

2

Rozwiązał go, używając ViewTreeObserver w onCreateDialog