Android问题解决: Alertdialog 宽度铺满解决办法

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,787评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,761评论 0 17
  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,604评论 0 12
  • 酒酣胸胆尚开张,新年酒食正穿肠。亲朋好友可相见,不看微信又何妨!推杯换盏正得意,屏幕不如酒醇香。各位朋友莫怪罪,已...
    苏打花生阅读 202评论 0 0
  • 一,怦然心动 一点玲珑透,三分碧绣心。 歌袅袅如风,舞依依若柳。 回眸比昭君,捧心若西子。 何当金玉簪,赠与俏佳人...
    玉階生白露阅读 363评论 0 1