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

2015-04-29

【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したらきちんと縦幅、横幅が反映されるようになった。