在垂直的LinearLayout中,我有一个TableLayout,其中一行(包含3个微调器,一个1dp LinearLayout作为边框,然后是3个微调器),然后是另一个TableLayout,具有多个动态生成的行。
在第一个TableLayout的行中,所有单元格(索引3除外,它是边框)的间距都使它们占据整个宽度:
<TableLayout
android:stretchColumns="0,1,2,4,5,6"
android:background="#E9AFE9"
android:layout_width="match_parent"
android:layout_height="wrap_content">
这些实际上实际上是均匀分布的,并且都具有相同的宽度。
在第二个TableLayout的行中,该行的末尾有一些空白。我不确定为什么会这样,因为两个TableLayouts都具有android:stretchColumns =“ 0,1,2,4,5,6”。
<TableLayout
android:id="@+id/datatable"
android:stretchColumns="0,1,2,4,5,6"
android:background="#E9AFE9"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
数据行在其自己的布局文件中定义,并动态填充和插入:
<TableRow
android:background="#6741AA"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!-- -->
<TextView
android:background="#8fe611"
android:id="@+id/tv_sample_data"
tools:text="123.45" />
<!-- -->
<TextView
android:background="#F0998D"
android:id="@+id/tv_azimuth_data"
tools:text="123.45" />
<!-- -->
<TextView
android:background="#8fe611"
android:id="@+id/tv_elevation_data"
tools:text="123.45" />
<LinearLayout style="@style/TableBorder" />
<!-- -->
<TextView
android:background="#F0998D"
android:id="@+id/tv_height_data"
tools:text="123.45" />
<!-- -->
<TextView
android:background="#8fe611"
android:id="@+id/tv_direction_data"
tools:text="123.45" />
<!-- -->
<TextView
android:background="#F0998D"
android:id="@+id/tv_speed_data"
tools:text="123.45" />
</TableRow>
紫色是第二行的背景色,表明TableRow实际上占据了TableLayout的整个宽度。
使用布局检查器时,第二个表中的每个TextView的宽度与表头TableLayout中的项目的宽度不同,但更小。
关于第二个TableRow中的项目为何不采用全宽的任何提示吗?
谢谢!