问题描述
我为 DialogFragment 创建了一个布局,但它没有正确显示。在 Android Studio 中,布局的预览显示正确(见下图)。但是当我运行应用程序时,所有插入的 nestedScrollView
都没有显示。我将错误归结为 nestedScrollView 的这一行:android:layout_height="0dp"
。当我将 0dp 更改为 wrap content
时,所有元素都会显示,但现在它们与其他元素重叠。
有人可以给我建议如何解决这个问题吗?
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
android:id="@+id/fr_tv_lbl_list_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/listName"
android:textSize="@dimen/textSize_22"
android:textStyle="bold"
android:padding="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<EditText
android:id="@+id/fr_et_list_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/listName"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toBottomOf="@id/fr_tv_lbl_list_name"
app:layout_constraintStart_toStartOf="@id/fr_tv_lbl_list_name"
/>
<View
android:id="@+id/fr_divider"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/purple_700"
android:layout_marginTop="12dp"
app:layout_constraintTop_toBottomOf="@id/fr_et_list_name"
app:layout_constraintStart_toStartOf="@id/fr_tv_lbl_list_name"
/>
<TextView
android:id="@+id/fr_tv_lbl_list_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/listItems"
android:textStyle="bold"
android:textSize="@dimen/textSize_22"
android:layout_marginTop="12dp"
android:padding="8dp"
app:layout_constraintTop_toBottomOf="@id/fr_divider"
app:layout_constraintStart_toStartOf="@id/fr_tv_lbl_list_name"
/>
<ImageView
android:id="@+id/fr_img_add_entry"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="24dp"
android:src="@drawable/ic_add_circle_24"
android:contentDescription="@string/contentDescriptionAddListItem"
app:layout_constraintStart_toEndOf="@id/fr_tv_lbl_list_item"
app:layout_constraintTop_toTopOf="@id/fr_tv_lbl_list_item"
app:layout_constraintBottom_toBottomOf="@id/fr_tv_lbl_list_item"
/>
<TextView
android:id="@+id/fr_tv_error"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/fr_max_items"
android:textSize="@dimen/textSize_18"
android:gravity="center"
android:textColor="?attr/colorError"
android:layout_marginStart="16dp"
app:layout_constraintBottom_toBottomOf="@id/fr_tv_lbl_list_item"
app:layout_constraintStart_toEndOf="@id/fr_img_add_entry"
app:layout_constraintEnd_toEndOf="parent"
android:visibility="invisible"/>
<androidx.core.widget.nestedScrollView
android:id="@+id/fr_scrollview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="12dp"
android:scrollbars="vertical"
app:layout_constraintTop_toBottomOf="@id/fr_tv_lbl_list_item"
app:layout_constraintBottom_toTopOf="@id/fr_layout_btn"
app:layout_constraintStart_toStartOf="@id/fr_et_list_name">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible"
>
<EditText
android:id="@+id/fr_et_list_entry1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/listItemHint"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/fr_img_delete_entry1"
/>
<ImageView
android:id="@+id/fr_img_delete_entry1"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_remove_circle_24"
android:layout_marginEnd="8dp"
android:contentDescription="@string/contentDescriptionDeleteListItem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/fr_et_list_entry1"
app:layout_constraintBottom_toBottomOf="@id/fr_et_list_entry1"
/>
<EditText
android:id="@+id/fr_et_list_entry2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/listItemHint"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toBottomOf="@id/fr_img_delete_entry1"
app:layout_constraintStart_toStartOf="@id/fr_et_list_entry1"
app:layout_constraintEnd_toStartOf="@id/fr_img_delete_entry2"
android:visibility="visible"
/>
<ImageView
android:id="@+id/fr_img_delete_entry2"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_remove_circle_24"
android:layout_marginEnd="8dp"
android:contentDescription="@string/contentDescriptionDeleteListItem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/fr_et_list_entry2"
app:layout_constraintBottom_toBottomOf="@id/fr_et_list_entry2"
android:visibility="visible"
/>
<EditText
android:id="@+id/fr_et_list_entry3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/listItemHint"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toBottomOf="@id/fr_img_delete_entry2"
app:layout_constraintStart_toStartOf="@id/fr_et_list_entry1"
app:layout_constraintEnd_toStartOf="@id/fr_img_delete_entry1"
android:visibility="visible"
/>
<ImageView
android:id="@+id/fr_img_delete_entry3"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_remove_circle_24"
android:layout_marginEnd="8dp"
android:contentDescription="@string/contentDescriptionDeleteListItem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/fr_et_list_entry3"
app:layout_constraintBottom_toBottomOf="@id/fr_et_list_entry3"
android:visibility="visible"
/>
<EditText
android:id="@+id/fr_et_list_entry4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/listItemHint"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toBottomOf="@id/fr_img_delete_entry3"
app:layout_constraintStart_toStartOf="@id/fr_et_list_entry1"
app:layout_constraintEnd_toStartOf="@id/fr_img_delete_entry1"
android:visibility="visible"
/>
<ImageView
android:id="@+id/fr_img_delete_entry4"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_remove_circle_24"
android:layout_marginEnd="8dp"
android:contentDescription="@string/contentDescriptionDeleteListItem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/fr_et_list_entry4"
app:layout_constraintBottom_toBottomOf="@id/fr_et_list_entry4"
android:visibility="visible"
/>
<EditText
android:id="@+id/fr_et_list_entry5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/listItemHint"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toBottomOf="@id/fr_img_delete_entry4"
app:layout_constraintStart_toStartOf="@id/fr_et_list_entry1"
app:layout_constraintEnd_toStartOf="@id/fr_img_delete_entry1"
android:visibility="visible"
/>
<ImageView
android:id="@+id/fr_img_delete_entry5"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_remove_circle_24"
android:layout_marginEnd="8dp"
android:contentDescription="@string/contentDescriptionDeleteListItem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/fr_et_list_entry5"
app:layout_constraintBottom_toBottomOf="@id/fr_et_list_entry5"
android:visibility="visible"
/>
<EditText
android:id="@+id/fr_et_list_entry6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/listItemHint"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toBottomOf="@id/fr_img_delete_entry5"
app:layout_constraintStart_toStartOf="@id/fr_et_list_entry1"
app:layout_constraintEnd_toStartOf="@id/fr_img_delete_entry1"
android:visibility="visible"
/>
<ImageView
android:id="@+id/fr_img_delete_entry6"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_remove_circle_24"
android:layout_marginEnd="8dp"
android:contentDescription="@string/contentDescriptionDeleteListItem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/fr_et_list_entry6"
app:layout_constraintBottom_toBottomOf="@id/fr_et_list_entry6"
android:visibility="visible"
/>
<EditText
android:id="@+id/fr_et_list_entry7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/listItemHint"
android:textSize="@dimen/textSize_18"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:inputType="textAutoCorrect"
android:importantForAutofill="no"
app:layout_constraintTop_toBottomOf="@id/fr_img_delete_entry6"
app:layout_constraintStart_toStartOf="@id/fr_et_list_entry1"
app:layout_constraintEnd_toStartOf="@id/fr_img_delete_entry1"
android:visibility="visible"
/>
<ImageView
android:id="@+id/fr_img_delete_entry7"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_remove_circle_24"
android:layout_marginEnd="8dp"
android:contentDescription="@string/contentDescriptionDeleteListItem"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/fr_et_list_entry7"
app:layout_constraintBottom_toBottomOf="@id/fr_et_list_entry7"
android:visibility="visible"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.nestedScrollView>
<LinearLayout
android:id="@+id/fr_layout_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:gravity="end"
android:orientation="horizontal">
<Button
android:id="@+id/fr_btn_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/buttonbarButtonStyle"
android:text="@android:string/cancel"
android:textSize="@dimen/textSize_18"
android:textColor="?attr/colorAccent"
android:background="@android:color/transparent"
/>
<Button
android:id="@+id/fr_btn_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/buttonbarButtonStyle"
android:text="@android:string/ok"
android:textSize="@dimen/textSize_18"
android:textColor="?attr/colorAccent"
android:background="@android:color/transparent"
/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
DialogFragment.java
public class TestDialogFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(R.layout.dialog_add_edit_list);
return builder.create();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)