Android自定义Dialog对话框样式出现的边框无法填满有关问题
Android自定义Dialog对话框样式出现的边框无法填满问题
经过查看源码我发现,new AlertDialog.Builder(WorkspaceActivity.this).setView(linearlayout)的方法只是修改对话框的内容,并没有修改整个Dialog的样式,用Dialog.setContentView才能设置其整个的样式。
首先来看下出现的问题图:
说明:我们可以看到弹窗的背景并没有完全充满整个空间,而是留了一些空白。我查看了xml文件发现并没有任何问题。
再来看下修改后的效果:
说明:修改后的弹窗背景填满了整个屏幕,搞定!
先看下我原来是怎么写的:
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