【发布时间】:2023-03-26 09:50:01
【问题描述】:
我正在使用以下代码脚本为 Android PopupWindow 做暗淡的背景。它适用于除版本 6 (Marshmallow) 之外的 android 版本。
它抛出“无法将 FrameLayout.LayoutParams 转换为 WindowManager.LayoutParams”
Android 6 版如何解决此问题。我不想使用 Dialog。
PopupWindow popup = new PopupWindow(contentView, width, height);
popup.setBackgroundDrawable(null);
popup.showAsDropDown(anchor);
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams p = (WindowManager.LayoutParams) contentView.getLayoutParams();
p.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
p.dimAmount = 0.3f;
wm.updateViewLayout(contentView, p);
【问题讨论】:
-
您可以改用
contentView.getRootView().getLayoutParams()。
标签: android popupwindow android-6.0-marshmallow