簡體   English   中英

帶有邊距和layout_gravity的Android TableLayout問題

[英]Android TableLayout issue with margins and layout_gravity

僅查看問題所在是最容易的(如果要查看,請跳至圖像)。

這是我的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會將標題放在此較寬列的中心。 相反,嗯,我不確定發生了什么。

我在這里錯過明顯的東西嗎?

當你給
android:layout_marginRight =“ 10dp”
android:layout_marginLeft =“ 10dp”
對於每個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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM