gpt4 book ai didi

android - DialogFragment 被状态栏重叠

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:41 24 4
gpt4 key购买 nike

我有点困惑。

起初,当我创建一个工具栏并且它被状态栏重叠时,我只是在父 XML 中添加 fitSysmtemWindow="true" 并且它工作得很好。

但是当我创建全屏 DialogFragment 时,它也会被状态栏重叠。我尝试添加 fitSystemWindow="true" 但它不起作用。

仅适用于 android 5.0+。没有在任何地方将状态栏设置为半透明。

这是我的 DialogFragment 代码

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_create_bill_dialog,container, false);

return view;
}

@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
return dialog;
}

谢谢。抱歉我的英语不好。

最佳答案

我遇到了同样的问题。我通过在 Dialog Fragment Root View 的顶部添加 25dp 的填充来解决它,以确保它不与状态栏重叠。

public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

//If showing as a dialog, add some padding at the top to ensure it doesn't overlap status bar
if (getDialog() != null) {
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
view.setPadding(0, (int)PresentationUtils.convertDpToPixel(25f, getContext()), 0, 0);
view.requestLayout();
}
...
}

顺便说一句,我用来将 dp 转换为 px 的 util 方法可以在这里找到 Converting pixels to dp

关于android - DialogFragment 被状态栏重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com