私はダイアログ形式としてアクティビティを作成しています。画面全体をカバーするのではなく、その一部だけをカバーします。setContentView()を呼び出した後にウィンドウのレイアウトを設定する
window.setLayout(windowWidthInDp, LayoutParams.WRAP_CONTENT);
をそして、それは動作しません。私がやったことはsetContentView()を呼び出した後、この活動ののonCreate()メソッドにあった、私は呼んでいます。私はそれを動作させるために代わりに次のことをする必要があります:これは、setContentView()が呼び出されたあとも同じです。 なぜそれを直接呼び出すのではなく、メッセージキューに入れなければならないのですか? ありがとう!
返信いただきありがとうございます。 onCreate()メソッドが返される以外は、レイアウトが完全に構成されているという別の信号がありますか? – seemuch
一部の人々は 'ViewTreeObserverのaddOnGlobalLayoutListener()'を使用しています。 –
詳細については、http://stackoverflow.com/questions/4393612/when-can-i-first-measure-a-viewを参照してください。ここで誰かが 'ViewTreeObserver.addOnPreDrawListener()'を使って提案します。 –