最简单地看看问题是什么(如果你想看到它,请跳到图像)。
这是我的XML。它由四列组成。第一行包含标题,第二行包含值。
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="Start Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="Start Time" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="End Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="End Time" />
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:text="REALLY LONG TEXT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:text="REALLY LONG TEXT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:text="REALLY LONG TEXT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:text="REALLY LONG TEXT" />
</TableRow>
</TableLayout>
我希望标题和值始终居中。只需使用wrap_content和layout_gravity = center,对吧?这样可以正常工作,直到我想在值之间加上一个余量(你可以在第二行看到这个)。然后,突然间,一切都出了差错。
这就是我得到的。什么在...?
边缘只会搞砸一切。我对此感到惊讶,因为我希望边距可以简单地扩展每列的宽度,而TableLayout可以将标题放在这个更宽的列中。相反......好吧,我不确定发生了什么。
我错过了一些明显的东西吗?
答案 0 :(得分:0)
当你给予
机器人:layout_marginRight = “10dp”
机器人:layout_marginLeft = “10dp”
对于每个textview,
在第一个textview之后,对于后续的textview,它变为20。
根据CommonsWare的建议,填充似乎可以解决您的问题:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="Start Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="Start Time" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="End Day" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#0000FF"
android:text="End Time" />
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp"
android:text="REALLY LONG TEXT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp"
android:text="REALLY LONG TEXT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp"
android:text="REALLY LONG TEXT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp"
android:text="REALLY LONG TEXT" />
</TableRow>
</TableLayout>