Android 自定义AlertDialog 居中显示
/**
* 弹窗的一些配置
* @param activity
* @param dialog
* @param canCancel 是否可以点击外部取掉
* @param isBgDark 背景是否不变暗 0为不 1为是
*/
public void showDialog(Activity activity, AlertDialog dialog, boolean canCancel, boolean isBgDark) {
dialog.setCancelable(canCancel); //返回键不可取消
dialog.setCanceledOnTouchOutside(canCancel); //点击外部不取消
/*设置背景透明*/
final Window window = alertDialog.getWindow();
if (window != null) {
window.setBackgroundDrawable(new ColorDrawable(0));
}
dialog.show();
//以下代码需要在show函数之后
//加载自己的布局
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
//设置宽高,高度默认是自适应的,宽度根据屏幕宽度比例设置
lp.width = getScreenWidth(activity) / 10 * 8;
//这里设置居中
lp.gravity = Gravity.CENTER;
//背景不变暗
lp.dimAmount = isBgDark ? 0.6f : 0f;
dialog.getWindow().setAttributes(lp);
}
FlowLiver Notes

浙公网安备 33010602011771号