LinearLayout linearLayout = new LinearLayout(context);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
linearLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.
LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, 0, 0, 0);
param.setMargins(0, 0, 0, 0);
linearLayout.addView(datapicker, param);
linearLayout.addView(textView, param);WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.width = (int) (display.getWidth()); //设置宽度
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialog.getWindow().setAttributes(lp);
这段代码是代码添加一个线性布局,布局然后添加一个日历然后添加一行文本,下边是 设置宽度的,但是,在MI3 4.4.4(Api 19)显示正常,在Api23 上却是如图(只是下半截)
Paste_Image.png
多方查阅无效,最后猜测可能是设置背景图的原因,把它替换掉!
加上
dialog.getWindow().setBackgroundDrawableResource(android.R.color.white);
再次运行解决!
可是新问题出来了,会闪一下白屏。
那么换一种思维。完美解决!
dialog.getWindow().setBackgroundDrawable(null);
Paste_Image.png