本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点
在 Android 开发中,当你使用 Dialog 或 DialogFragment 时,可以通过设置 Window 的背景变暗来突出它的可见性。这个效果是通过 backgroundDimAmount 属性来控制的。
那我们怎么动态设置backgroundDimAmount呢?
DialogFragment
假设你正在使用 DialogFragment,那么你可以在 onCreateDialog 或 onViewCreated 方法中配置 Dialog 的窗口属性。
在 DialogFragment 中设置 backgroundDimAmount
public class MyDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
Window window = dialog.getWindow();
if (window != null) {
WindowManager.LayoutParams layoutParams = window.getAttributes();
layoutParams.dimAmount = 0.5f; // 设置dimAmount为0.5,即背景变得半透明
window.setAttributes(layoutParams);
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}
return dialog;
}
// 如果你的DialogFragment使用的是布局文件,需要在onViewCreated中调用上面的代码
@Override
public

最低0.47元/天 解锁文章
1596

被折叠的 条评论
为什么被折叠?



