我当前正在使用自定义的底版对话框显示一段时间后从页面底部滑动的视图。它应该留在页面上,而不会阻塞或“清除”背面的内容。目前,它似乎阻止了与背景的任何交互(我将setcancelable设置为false)。我希望它不能在您同时触摸外部时被取消,允许我点击主容器中背景中的按钮。有办法做到这一点还是有更好的办法做到这一点? 这是我的代码:
BottomSheetDialog dialog = new BottomSheetDialog(MainActivity.this);
dialog.setCancelable(false);
dialog.setContentView(R.layout.banner_message_view);
dialog.show();
这是我的banner_message_view:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/newbannerLayout"
android:background="@android:color/transparent">
<LinearLayout
android:id="@+id/bannerLayout"
android:layout_width="match_parent"
android:layout_height="68dp"
android:background="@drawable/message_banner_rect_drawable"
android:orientation="horizontal">
<TextView
android:id="@+id/bannerMessageTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="16dp"
android:layout_marginTop="14dp"
android:layout_marginBottom="14dp"
android:layout_weight="1"
android:textColor="@android:color/black"
android:textSize="16sp"
app:autoSizeTextType="uniform"
android:text="@string/refresh_rooms_message" />
<ImageView
android:id="@+id/closeButtonImageView"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:layout_margin="10dp"
android:src="@drawable/ic_close" />
</LinearLayout>
</LinearLayout>
我要使它显示时,我可以轻松地在后台与内容进行交互而不会忽略它。 (有点坚持设置可取消的错误,但同时不会变灰或失去背景焦点) 任何想法如何去做? 预先感谢!