以Theme.DeviceDefault.Dialog.Alert的为style的dialog常常无法锁定框的宽度。
有时候会显得过宽,与设置的message 不相对衬,从而导致ui不协调。可以在style文件里设置
<item name="android:windowMinWidthMajor">40%</item>
<item name="android:windowMinWidthMinor">40%</item>
- 1
即可以40%的屏幕比显示对话框的宽度。
这个在自定义view时,会遇到view 的宽度达到一定值时设置的宽度便不再生效的问题,我想应该也可以用这个方式去解决。
另外对于对话框无边框透明的问题,网上很多方法,但我发现设置style的方式完全不可靠。实际发现可行的方法如下:
alertDialog.setView(view, 0, 0, 0, 0);//即无边框
Window window = alertDialog.getWindow();
WindowManager.LayoutParams w0 = window.getAttributes();
w0.alpha = 0.8f; //透明度设置成0.8
window.setAttributes(w0);
- 1