GridLayout仅显示第一列

时间:2019-04-10 19:24:15

标签: android

我尝试了2个多小时,以弄清楚为什么我的GridLayout只显示第一列。 我尝试了各种选项,例如layout_weightlayout_columnWeight

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="4dp"
    android:orientation="vertical"
    tools:layout_editor_absoluteX="4dp"
    tools:layout_editor_absoluteY="4dp">

    <GridLayout

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnCount="3">

        <TextView
            android:layout_width="0dp"
            android:layout_row="0"
            android:layout_column="0"
            android:layout_columnSpan="2"
            android:text="Type:"
            android:textSize="18sp"
            android:layout_columnWeight="1"/>

        <Spinner
            android:layout_width="0dp"
            android:id="@+id/spinnerEvpRecordType"
            android:layout_row="0"
            android:layout_column="1"
            android:layout_columnSpan="1"
            android:clickable="false"
            android:entries="@array/evp_record_types"
            android:layout_columnWeight="1"/>
</GridLayout>
</androidx.cardview.widget.CardView>

1 个答案:

答案 0 :(得分:0)

我认为问题在于,您将Spinner明确地放在第二列的内部,而TextView跨越了前两列,因此它们重叠了。尝试同时删除android:layout_columnTextView中的Spinner属性。但是您仍然必须使用列的权重才能达到所需的比例。