【Android】DialogFragmentを継承したクラスでダイアログを画面一杯に表示させる

【Android】DialogFragmentを継承したクラスでダイアログを画面一杯に表示させる

DialogFragment 便利なんでダイアログは基本これで実装することにしてたんだけどいざタブレットで表示するときにダイアログがちっちぇーなーって思ってた。 onCreateView で setLayout を指定してたけどこれは間違いらしい。 正しくはこちら

public class SubMenuDialog extends DialogFragment implements OnClickListener {

... 省略

    @Override
    public void onStart() {
        super.onStart();

        // ダイアログを画面一杯に表示する
        if (getDialog() != null) {
            getDialog().getWindow().setLayout(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);
        }
    }
}

onStart のところで setLayout したらきちんと縦幅、横幅が反映されるようになった。