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

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

2015-04-29

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