gpt4 book ai didi

android - 更改对话框 fragment 中自定义对话框的高度

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

我创建了一个自定义对话框,代码如下。问题是,对话框的高度正在变成 wrap_content,即它独立于我在 xml 中提到的高度。我检查了其他问题,他们没有帮助我。

public class PointsDialogFragment extends DialogFragment{

private static final String TAG = PointsDialogFragment.class.getSimpleName();

public static PointsDialogFragment newInstance(){
PointsDialogFragment pdf = new PointsDialogFragment();
Bundle newBundle = new Bundle();
pdf.setArguments(newBundle);
return pdf;
}

private View mRoot;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
getDialog().requestWindowFeature(STYLE_NO_TITLE);
mRoot = inflater.inflate(R.layout.fragment_points_dialog, null);
return mRoot;
}
}

fragment_points_dialog.xml 的 xml 是

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="313dp"
android:layout_width="fill_parent"
android:background="@color/green_gradient_start"
>
<RelativeLayout
android:layout_width="173dp"
android:layout_height="242dp"
android:background="@drawable/reward_box"
android:id="@+id/reward_box"
android:layout_alignParentLeft="true"
>
<TextView
android:layout_centerInParent="true"
style="@style/WallSectionHeading"
android:text="5"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="173dp"
android:layout_height="250dp"
android:background="@drawable/reward_mascot"
android:layout_alignParentRight="true"
>
<LinearLayout
android:id="@+id/reward_cloud"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:background="@drawable/reward_cloud"
android:layout_alignParentBottom="true"
>
<TextView
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="You have gained 5 Delight Points"
android:textColor="@color/white"
android:textStyle="italic"
android:paddingLeft="15dp"
android:paddingRight="10dp"
/>
</LinearLayout>

</RelativeLayout>

</RelativeLayout>

我正在显示这样的对话框..

PointsDialogFragment pdf = PointsDialogFragment.newInstance();
pdf.show(getFragmentManager(), "dialog");

我想知道一种可以在对话框 fragment 中更改对话框高度的方法。

最佳答案

我认为问题是当您膨胀 View 时,您没有提供 ViewParent。当您不提供该参数时, View 根目录中的任何“layout_X”参数都将被忽略,因为这些值已提供给父级(在当前情况下为 null)。你可以做的是在膨胀时提供一个 ViewParent 或将你的 View XML 包装在另一个 ViewGroup 中,将绝对布局参数留在第二级。

示例代码:mRoot = inflater.inflate(R.layout.fragment_points_dialog, container, false);

关于android - 更改对话框 fragment 中自定义对话框的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7957832/

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