gpt4 book ai didi

android-dialogfragment - 如何设置 DialogFragment 的宽度和高度?

转载 作者:IT老高 更新时间:2023-10-28 12:56:50 26 4
gpt4 key购买 nike

假设我在一个名为 my_dialog_fragment.xml 的 xml 布局文件中指定了 DialogFragment 的布局,并指定了 layout_width >layout_height 将其 Root View 的值设置为固定值(例如 100dp)。然后,我在 DialogFragmentonCreateView(...) 方法中扩展此布局,如下所示:

View view = inflater.inflate(R.layout.my_dialog_fragment, container, false);

遗憾的是,我发现当我的 DialogFragment 出现时,它不遵守其 xml 布局文件中指定的 layout_widthlayout_height 值,并且而是根据其内容缩小或扩大。任何人都知道我是否或如何让我的 DialogFragment 尊重其 xml 布局文件中指定的 layout_widthlayout_height 值?目前,我必须在 DialogFragmentonResume() 方法中再次指定 Dialog 的宽度和高度,如下所示:

getDialog().getWindow().setLayout(width, height);

这样做的问题是我必须记住将来要对两个地方的宽度和高度进行任何更改。

最佳答案

如果您直接从资源值转换:

int width = getResources().getDimensionPixelSize(R.dimen.popup_width);
int height = getResources().getDimensionPixelSize(R.dimen.popup_height);
getDialog().getWindow().setLayout(width, height);

然后在对话框的布局中指定 match_parent:

android:layout_width="match_parent"
android:layout_height="match_parent"

现在您只需要担心一个地方(即您的 DialogFragment.onResume 方法)。它并不完美,但至少它适用于将 RelativeLayout 作为对话框布局文件的根目录。

关于android-dialogfragment - 如何设置 DialogFragment 的宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12478520/

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