このダイアログを指定するレイアウトで使用する場合Android:layout_width="match_parent"
このダイアログが表示されます。
より広いダイアログが必要です。何か案は?
これを行うには、ダイアログが使用するWindow
オブジェクトを取得し、幅をリセットします。以下に簡単な例を示します。
_//show the dialog first
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Test Dialog")
.setMessage("This should expand to the full width")
.show();
//Grab the window of the dialog, and change the width
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
Window window = dialog.getWindow();
lp.copyFrom(window.getAttributes());
//This makes the dialog take up the full width
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(lp);
_
最終結果は次のとおりです。ものを微調整する必要がある場合(背景の変更など)、ダイアログに対して行うことができるスタイリングがはるかに多いことに注意してください。過去にこれをしなければならなかったとき、私は通常このメソッドを使用し、ビルダークラスのsetView()
でダイアログで使用されるレイアウトをカスタマイズします。
これを修正する別の方法は、以下を使用することです:
import Android.support.v7.app.AlertDialog;
の代わりに:
import Android.app.AlertDialog;