Java 当用边距在外部单击时,对话框不会关闭
我创建了一个对话框,如下所示:Java 当用边距在外部单击时,对话框不会关闭,java,android,dialog,Java,Android,Dialog,我创建了一个对话框,如下所示: final Dialog dialog = new Dialog( context ); dialog.setContentView( R.layout.item_give_review ); dialog.getWindow().setBackgroundDrawable( new ColorDrawable( Color.TRANSPARENT ) ); dialog.setCancelable( true ); dialog.setCanceledOnTou
final Dialog dialog = new Dialog( context );
dialog.setContentView( R.layout.item_give_review );
dialog.getWindow().setBackgroundDrawable( new ColorDrawable( Color.TRANSPARENT ) );
dialog.setCancelable( true );
dialog.setCanceledOnTouchOutside(true);
dialog.show();
其中item\u give\u review
是一个NestedScrollView
,它包含的对象很少:
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="40dp"
android:background="@drawable/dialog_rounded"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarFadeDuration="0"
android:scrollbarSize="3dip"
android:scrollbarThumbVertical="@color/colorLightPurple"
android:scrollbars="vertical"
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/ib_CloseDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:layout_marginEnd="0dp"
android:background="@android:color/transparent"
android:src="@drawable/ic_cancel"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_RankUp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="75dp"
android:fontFamily="@font/assistant_semibold"
android:text="@string/RankUp"
android:textColor="@color/colorLightPurple"
android:textSize="27sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_RankUp"
android:layout_width="110dp"
android:layout_height="120dp"
android:layout_marginTop="48dp"
android:adjustViewBounds="false"
android:scaleType="fitXY"
android:src="@drawable/ic_img_rankup"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_RankUp" />
<TextView
android:id="@+id/tv_RankUp_Thanks1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="56dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="56dp"
android:fontFamily="@font/assistant"
android:gravity="center"
android:text="@string/Activity_GiveRank"
android:textColor="@color/colorEmptyStar"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_RankUp" />
<RatingBar
android:id="@+id/reviewRatingUser"
style="?android:attr/ratingBarStyle"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:isIndicator="false"
android:numStars="5"
android:secondaryProgressTint="@color/fui_transparent"
android:stepSize="0.5"
android:theme="@style/rb_Stars"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_RankUp_Thanks1" />
<EditText
android:id="@+id/et_ReviewText"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_marginStart="40dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="40dp"
android:background="@drawable/btn_underline_gray"
android:drawablePadding="10dp"
android:fontFamily="@font/assistant_semibold"
android:gravity="top|center"
android:hint="Leave your feedback here"
android:inputType="textMultiLine"
android:lines="8"
android:maxLines="3"
android:minLines="3"
android:scrollbars="vertical"
android:textColor="@color/colorBlackText"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/reviewRatingUser" />
<Button
android:id="@+id/btn_Done"
android:layout_width="240dp"
android:layout_height="44dp"
android:layout_marginTop="40dp"
android:background="@drawable/btn_rounded_purple"
android:text="@string/ActivityChange_Done"
android:textAllCaps="false"
android:textColor="@color/colorWhite"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_ReviewText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
现在,我希望当用户在对话框外单击时,对话框关闭,但是我注意到它不能与边距一起工作
为了让它工作,我必须删除边距并设置nestedScrollView
的尺寸
有没有什么方法可以让我在单击外部时使用边距并将其删除?请发布您的项目的XML代码,以便我进行测试?我在上面添加了它