关于自定义AlertDialog,设置不能充满全屏的解决方法
2016-10-20 13:20
609 查看
下面是Dialog的style:
<!-- 全屏dialog样式 左右插入 -->
<style name="mydialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowBackground">#FFFFFF</item>
</style>
下面是创建Dialog的代码:
Dialog dialog = new Dialog(Activity.this, R.style.mydialog);
dialog.setContentView(R.layout.layout);
LayoutParams lay = dialog.getWindow().getAttributes();
setParams(lay);
dialog.show();
下面是设置Dialog的LayoutParams的属性方法:
private void setParams(LayoutParams lay) {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Rect rect = new Rect();
View view = getWindow().getDecorView();
view.getWindowVisibleDisplayFrame(rect);
lay.height = dm.heightPixels - rect.top;
lay.width = dm.widthPixels;
}
<!-- 全屏dialog样式 左右插入 -->
<style name="mydialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowBackground">#FFFFFF</item>
</style>
下面是创建Dialog的代码:
Dialog dialog = new Dialog(Activity.this, R.style.mydialog);
dialog.setContentView(R.layout.layout);
LayoutParams lay = dialog.getWindow().getAttributes();
setParams(lay);
dialog.show();
下面是设置Dialog的LayoutParams的属性方法:
private void setParams(LayoutParams lay) {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Rect rect = new Rect();
View view = getWindow().getDecorView();
view.getWindowVisibleDisplayFrame(rect);
lay.height = dm.heightPixels - rect.top;
lay.width = dm.widthPixels;
}
相关文章推荐
- 关于自定义AlertDialog,设置不能充满全屏的解决方法
- 关于带有EditText的自定义AlertDialog,不能弹出软件盘的解决方法
- 关于自定义dialog不能左右全屏的解决办法
- 干货,关于自定义Dialog的宽度充满屏幕的方法以及为什么设置失败(扩展:自定义Dialog形状)
- 关于AlertDialog中EditText不能弹出输入法解决方法
- 关于AlertDialog中EditText不能弹出输入法解决方法
- 关于在win7环境下线程里调用SaveFileDialog不能显示的解决方法
- Android自定义布局的背景在多分辨率的情况下设置fill_parent时背景不能够横向全屏的问题解决
- 项目中---关于AlertDialog中EditText不显示软键盘的解决方法
- 关于动态创建dsn时不能设置用户名和密码的解决方法
- VirtualBox安装ubuntu后不能全屏显示的解决方法及设置root密码
- 关于在设置启动文件夹或者设置用户选项时不能得到当前用户的解决方法
- bootbox自定义dialog、confirm、alert样式,以及基本设置方法setDefaults中可用参数
- 关于JKAlertDialog在多个视图控制器跳转后不能正常显示的问题的解决--IOS
- 关于在设置启动文件夹或者设置用户选项时不能得到当前用户的解决方法
- 关于LayoutInflater.from().inflate()方法不能加载自定义view的解决办法
- 关于在设置启动文件夹或者设置用户选项时不能得到当前用户的解决方法
- 关于span不能设置宽度及span自动换行的解决方法
- 【转】bootbox自定义dialog、confirm、alert样式,以及基本设置方法setDefaults中可用参数