为什么 AlertDialog.Builder 自定义布局 (Tablelayout) 显示半空对话框

Why AlertDialog.Builder for custom layout (Tablelayout) showing half empty dialog

我在 alertDialog 中使用自定义布局,但问题是它在半屏中显示我的布局文件的内容,而另一半只是空白 -(我不知道这个黑色部分从何而来), 我想去掉对话框的空白部分。

如有任何建议或帮助,我们将不胜感激。

我的alterDialog代码

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.dialog_layout, null);
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(view);

布局 dialog_layout.xml

    <?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@android:color/background_dark">

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

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="1dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="1dp"
            android:text="SCAN ASSEMBLY"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="8dp"
            android:text="Scan job"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/dark_text_color" />

        <TextView
            android:id="@+id/lot_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="2342wt"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/light_black_text_color" />
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="8dp"
            android:text="Scan assembly"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/dark_text_color" />

        <TextView
            android:id="@+id/product_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="2342wt"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/light_black_text_color" />
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp">


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="8dp"
            android:text="Job quantity"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/dark_text_color" />

        <TextView
            android:id="@+id/lot_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="2342wt"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/light_black_text_color" />
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="8dp"
            android:text="Prod. time (hrs)"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/dark_text_color" />

        <TextView
            android:id="@+id/time_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="2342wt"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/light_black_text_color" />
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="8dp"
            android:text="Prod. date"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/dark_text_color" />

        <TextView
            android:id="@+id/date_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="2342wt"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/light_black_text_color" />
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="8dp"
            android:text="Prod. shift"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/dark_text_color" />

        <TextView
            android:id="@+id/shift_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2342wt"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="@color/light_black_text_color" />
    </TableRow>
</TableLayout>

输出为:

嗯,我想通了。感谢 Khizar 和 Arthem Chauzov 的帮助评论。 我只是做了一个小改动,因为 table layout 继承自 LinearLayout。我只是为我的行内容设置 android:layout_width="0dp" and android:layout_weight="1" 。现在它按要求工作:)