8

我正在尝试实现新的 BottomSheetDialog,但是当我调用.show()它时显示背景阴影而不是我的布局。

这是我的代码

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="4dp"
            android:paddingBottom="4dp"
            android:paddingStart="8dp"
            android:paddingEnd="8dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Notes"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:textColor="@android:color/black"/>

            <Switch
                android:id="@+id/notes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_alignParentEnd="true"/>

        </RelativeLayout>

    </RelativeLayout>

</android.support.v4.widget.NestedScrollView>

接着:

    mSettingsDialog = new BottomSheetDialog(this);
    View v = getLayoutInflater().inflate(R.layout.reader_settings,  null);
    mSettingsDialog.setContentView(v);
    mSettingsDialog.show();

我该如何解决这个问题?

4

2 回答 2

2

我遇到了这个问题,我的原因是

  1. 对话框 XML 名称与其他模块 XML 文件名相同,因此请尝试将其重命名为另一个

  2. 检查布局文件,也许它有一些错误,保持最简单的布局测试它。

于 2018-08-06T01:42:31.830 回答
0

我们可以检查几个步骤:

  1. 创建并使用静态方法newInstance并在其上调用该show()方法。
  2. 尝试LinearLayoutCompat作为根布局。
  3. 尝试在根布局中使用彩色背景以获得想法。
  4. 尝试match_parent根布局的高度。
  5. 确保没有立即调用dismiss()or 。cancel()
  6. 检查能见度。
  7. 重新启动:PC 和设备。
于 2021-07-20T11:39:12.917 回答