网上的方法很杂,经过试验,确认一种可行的方案。下面是主要代码。
style:
- <style name="style_dialog" parent="android:style/Theme.Dialog">
- <item name="android:windowBackground">@color/white</item>
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowIsFloating">true</item>
- <item name="android:windowContentOverlay">@null</item>
- <item name="android:scrollHorizontally">true</item>
- </style>
代码:
- final Dialog dialog = new Dialog(context, R.style.style_dialog);
- dialog.setContentView(view);
- dialog.show();
- Window window = dialog.getWindow();
- window.setGravity(Gravity.BOTTOM); //可设置dialog的位置
- window.getDecorView().setPadding(0, 0, 0, 0); //消除边距
- WindowManager.LayoutParams lp = window.getAttributes();
- lp.width = WindowManager.LayoutParams.MATCH_PARENT; //设置宽度充满屏幕
- lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
- window.setAttributes(lp);
结果:
另附上