我尝试了2个多小时,以弄清楚为什么我的GridLayout只显示第一列。
我尝试了各种选项,例如layout_weight
和layout_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>
答案 0 :(得分:0)
我认为问题在于,您将Spinner
明确地放在第二列的内部,而TextView
跨越了前两列,因此它们重叠了。尝试同时删除android:layout_column
和TextView
中的Spinner
属性。但是您仍然必须使用列的权重才能达到所需的比例。