【发布时间】:2018-10-05 12:46:45
【问题描述】:
我正在尝试创建并显示一个全屏对话框。我想使用这个自定义对话框布局创建一些动画。此代码适用于片段而不是活动。
我的代码如下:
Dialog dialog = new Dialog(getContext());
LinearLayout linearLayout = new LinearLayout(getContext());
linearLayout.setLayoutParams(new LinearLayout.LayoutParams(-1, -1));
linearLayout.setBackgroundColor(Color.TRANSPARENT);
dialog.requestWindowFeature(1);
dialog.setContentView(linearLayout);
Window dialogWindow = dialog.getWindow();
dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dialogWindow.setDimAmount(0.0f);
dialogWindow.setBackgroundDrawableResource(android.R.color.transparent);
// View.WindowManager.LayoutParams.MATCH_PARENT
dialogWindow.setLayout(-1, -1);
dialog.show();
截图如下:
R.style.Theme_AppCompat_Light 对我不起作用。它将状态栏更改为浅灰色:)
如何显示完全透明的自定义对话框?
【问题讨论】:
-
测试用例删除
dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); -
并使用这个
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); -
@NileshRathod 这个设置是不够的。我使用 Theme_Holo_Light_NoActionBar_Fullscreen 主题,但它会删除状态栏中的图标。 ://
标签: android android-fragments android-theme android-dialog android-statusbar