Androidフィレットdialog、幅と高さを制限
1007 ワード
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
View contentView = getActivity().getLayoutInflater().inflate(R.layout.layout_dialog_contact, null);
builder.setView(contentView);
AlertDialog dialog = builder.create();
dialog.getWindow().setBackgroundDrawable(new BitmapDrawable()); // .
dialog.setCanceledOnTouchOutside(false); // .
dialog.getWindow().setGravity(Gravity.CENTER); // .
dialog.show();
WindowManager m = getActivity().getWindowManager();
Display d = m.getDefaultDisplay(); // 、
WindowManager.LayoutParams p = dialog.getWindow().getAttributes(); //
p.height = (int) (d.getHeight() * 0.4); // 0.4
p.width = (int) (d.getWidth() * 0.9); // 0.9
dialog.getWindow().setAttributes(p);
shapeを背景にフィレットを実現するdialog
注意:dialog.getWindow().setAttributes(p); show()メソッドの後に呼び出す必要があります