Android自定义Dialog对话框样式出现的边框无法填满有关问题

Android自定义Dialog对话框样式出现的边框无法填满问题

首先来看下出现的问题图:

Android自定义Dialog对话框样式出现的边框无法填满有关问题

说明:我们可以看到弹窗的背景并没有完全充满整个空间,而是留了一些空白。我查看了xml文件发现并没有任何问题。

再来看下修改后的效果:

Android自定义Dialog对话框样式出现的边框无法填满有关问题

说明:修改后的弹窗背景填满了整个屏幕,搞定!

先看下我原来是怎么写的:

		LayoutInflater inflater = getLayoutInflater();
		View linearlayout = inflater.inflate(R.layout.dialog_normal_layout, null);
		dialog = new AlertDialog.Builder(WorkspaceActivity.this).setView(linearlayout).show(); //对比
		btn_save.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				//do something yourself
			}
		});
		btn_cancel.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				dialog.dismiss();
			}
		});
修改后我是这么写的:

	        LayoutInflater inflater = getLayoutInflater();
		View linearlayout = inflater.inflate(R.layout.dialog_normal_layout, null);
		dialog = new AlertDialog.Builder(WorkspaceActivity.this).show(); 
		dialog.setContentView(linearlayout);//对比
		btn_save.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				//do something yourself
			}
		});
		btn_cancel.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				dialog.dismiss();
			}
		});

经过查看源码我发现,new AlertDialog.Builder(WorkspaceActivity.this).setView(linearlayout)的方法只是修改对话框的内容,并没有修改整个Dialog的样式,用Dialog.setContentView才能设置其整个的样式。

希望可以帮到跟我一样的菜鸟吧,高手勿喷。更多精彩请查看我的博客http://blog.csdn.net/caicongyang