gpt4 book ai didi

android - DialogFragment设置Dialog的高度

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:49 28 4
gpt4 key购买 nike

我刚刚使用了第一个使用 DialogFragment 创建的 Dialog。一切都很好,除了我无法让对话框包装它的布局。我的布局将所有元素的高度设置为 wrap_content

MyFragmentDialog 中,我什至找不到暗示它可用于设置 FragmentDialog 高度的方法。我错过了什么?如何使 DialogFragment 适合其内容?

DialogFramentonCreateView 方法:

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Set title for this dialog
getDialog().setTitle("Backup & Restore");
getDialog().setCancelable(true);

View v = inflater.inflate(R.layout.backup_restore, container, false);
TextView msg = (TextView) v.findViewById(R.id.br_label_message);
msg.setText("Backups are placed in the Downloads Directory:\n" + BACKUP_PATH.getAbsolutePath());
// TextView files_label = (TextView) v.findViewById(R.id.label_restore);
Spinner files = (Spinner) v.findViewById(R.id.br_restore_file);

if (BACKUP_PATH.exists()) {
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String filename) {
File sel = new File(dir, filename);
return filename.contains(FTYPE) || sel.isDirectory();
}
};
mFileList = BACKUP_PATH.list(filter);
} else {
mFileList = new String[0];
}

ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(getActivity(), android.R.layout.simple_spinner_item, mFileList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
files.setAdapter(adapter);
files.setOnItemSelectedListener(this);

Button backup = (Button) v.findViewById(R.id.br_backup_btn);
Button restore = (Button) v.findViewById(R.id.br_restore_btn);
Button cancel = (Button) v.findViewById(R.id.br_cancel_btn);

backup.setOnClickListener(this);
restore.setOnClickListener(this);
cancel.setOnClickListener(this);

return v;
}

这是布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp" >

<TextView
android:id="@+id/br_label_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:text=""
android:textSize="14sp" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TableRow
android:id="@+id/br_tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/br_label_restore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="8dp"
android:text="Restore file"
android:textSize="14sp" />

<Spinner
android:id="@+id/br_restore_file"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TableRow>

<Button
android:id="@+id/br_restore_btn"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:text="Restore"
android:textSize="14sp" />

<Button
android:id="@+id/br_backup_btn"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:text="Backup"
android:textSize="14sp" />
</TableRow>
</TableLayout>

<Button
android:id="@+id/br_cancel_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Cancel"
android:textSize="14sp" />

</LinearLayout>

谢谢,

最佳答案

尽管在 DialogFragment 中设置了高度,但事实证明它是 LinearLayout 的一个问题,它似乎占用了比我想要的更多的空间。我将布局切换为 RelativeLayout,内容 Dialog 似乎会调整大小以适应内容。

关于android - DialogFragment设置Dialog的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8958124/

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