我有一个 AlertDialog,其 Y 已设置并设置为显示在中心。它在 2.3 模拟器和设备上完美显示,但在 4.1(模拟器和 4.0 设备)上显示比预期的更多。这是代码:
AlertDialog adg = scrnDlg.create();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(adg.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
//lp.height = WindowManager.LayoutParams.MATCH_PARENT;
lp.y = 05;
lp.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL;
adg.getWindow().setAttributes(lp);
adg.show();
/* working with 2.3 but nt proper position with 4.0
WindowManager.LayoutParams lp = adg.getWindow().getAttributes();
lp.y = 05;
lp.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL;
adg.getWindow().setAttributes(lp);
*/
obth 版本模拟器的屏幕截图:
谁能帮我解决这个问题?这个高度也非常适合 Ld、Md。但对于 Hd 和 xD,这个高度似乎很小,底部留有更多空间。如何根据屏幕高度设置高度。
非常感谢任何帮助。
谢谢