2012-07-09 12 views
7

Mam niestandardowe okno dialogowe, które jest rozszerzane z okna dialogowego. w celu umieszczenia na nim komponentu, potrzebuję znać szerokość okna dialogowego. jak mogłem to zrobić? DziękiJak uzyskać rozmiar niestandardowego okna dialogowego w systemie Android?

EDIT:

public class AnswerTypeDialog extends Dialog{ 
    public AnswerTypeDialog(Context context) { 
     super(context); 
     mContext = context; 
    } 

    @Override 
    protected void onCreate(final Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     init(); 
    } 

    protected void init(){ 
     ll=(RelativeLayout) LayoutInflater.from(mContext).inflate(R.layout.answertype_layout, null); 
     this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(ll); 
     mWindowWidth = this.getWindow().getAttributes().width; 
    } 
} 

mWindowWidth wynosi zero.

+0

to do ciebie, co dajesz szerokość wysokości okna dialogowego. – AkashG

+0

@seaplain to wymyśliłeś? – anuj

+0

spróbuj zmienić sposób myślenia. Użyj zasobu identyfikuje i tworzy wiele układów na podstawie rozmiaru ekranu. – vladaman

Odpowiedz

-2

Można użyć tego fragmentu

int height=mDialog.getWindow().getDecorView().getHeight(); 
int width=mDialog.getWindow().getDecorView().getWidth(); 
+1

ale zwraca 0. – shohreh

+0

@shohreh pokaż nam kod, co robisz – Akram

+4

to zwraca tylko stałą związaną z jej atrybutem, na przykład -2 = WRAP_CONTENT. Ta odpowiedź jest bezużyteczna. – slezadav

0

to będzie działać.

@Override 
    public void onWindowFocusChanged (boolean hasFocus) { 
     super.onWindowFocusChanged(hasFocus); 
     int height=mDialog.getWindow().getDecorView().getHeight(); 
    int width=mDialog.getWindow().getDecorView().getWidth(); 
} 
Powiązane problemy