Android AlertDialog设置宽度显示不正常的问题
生活随笔
收集整理的這篇文章主要介紹了
Android AlertDialog设置宽度显示不正常的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學而時習之溫故而知新
禮拜天寫一個dialog 出現了設置的寬度和布局寫的寬度明現不一致問題,
出現了這種問題再代碼中設置寬和高問題就解決了
一般寫AlertDialog 2種方法,這里都 給出來 ,要注意設置的寬和高一定要再show 之后添加
?第一種寫法
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);builder.setCancelable(false);View cinema_view = getLayoutInflater().inflate(R.layout.cinema_fragment_pop, null);builder.setView(cinema_view);AlertDialog cinemaDialog = builder.create();cinemaDialog.show();/*** 設置寬和高一定要再show 之后添加,不然沒有效果*/Window window = cinemaDialog.getWindow();if (window !=null){WindowManager.LayoutParams lp = window.getAttributes();window.setBackgroundDrawableResource(android.R.color.transparent);//設置背景透明lp.gravity = Gravity.CENTER;lp.width = mActivity.getResources().getDimensionPixelOffset(R.dimen.dp_1060);//寬高設置具體大小lp.height = mActivity.getResources().getDimensionPixelOffset(R.dimen.dp_630);cinemaDialog.getWindow().setAttributes(lp);}
設置之后沒有問題不過window 非常環視要判斷下
第二種寫法
View cinema_view = getLayoutInflater().inflate(R.layout.cinema_fragment_pop, null);AlertDialog dialog = new AlertDialog.Builder(mActivity).create();dialog.setView(cinema_view);dialog.show();/*** 設置寬和高一定要再show 之后添加,不然沒有效果*/Window window = dialog.getWindow();if (window != null) {window.setBackgroundDrawableResource(android.R.color.transparent);//設置背景透明WindowManager.LayoutParams lp = window.getAttributes();lp.gravity = Gravity.CENTER;lp.width = mActivity.getResources().getDimensionPixelOffset(R.dimen.dp_1060);//寬高可設置具體大小lp.height = mActivity.getResources().getDimensionPixelOffset(R.dimen.dp_630);dialog.getWindow().setAttributes(lp);}
?
總結
以上是生活随笔為你收集整理的Android AlertDialog设置宽度显示不正常的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RecyclerView 刷新的时候出现
- 下一篇: 店面VI设计是什么?