修复了tableRow Android的高度

时间:2013-07-17 15:45:38

标签: android tablelayout

我有一个日历,其中包含一个包含6行的tableLayout,每行包含6个CelluleMensuelle类型的单元格(它扩展了一个LinearLayout)。

在开始时,所有行都具有相同的高度,但是当我向单元格添加textviews时,它会增加其行的高度,我该如何防止这种情况?我希望行保持其初始高度

这是我的xml文件 的 calendrier_calendriermensuel.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="3"                           
       android:text="Lundi"
       android:background="@drawable/ligne_bordure"
    />
    <TextView
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="3"                           
       android:text="Mardi"
       android:background="@drawable/ligne_bordure"
    />
    <TextView
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="3"                           
       android:text="Mercredi"
       android:background="@drawable/ligne_bordure"
    />
    <TextView
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="3"                           
       android:text="Jeudi"
       android:background="@drawable/ligne_bordure"
    />
    <TextView
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="3"                           
       android:text="Vendredi"
       android:background="@drawable/ligne_bordure"
     />
</LinearLayout>

<TableLayout
    android:id="@+id/layout_calendriermensuel"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="#FFFFFF">

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />                                  
    </TableRow>
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />
        <com.thinline.dm21.utils.CelluleMensuelle
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@drawable/ligne_bordure"
        />                                  
    </TableRow>

    <!-- 4 others tablerows --!>
</TableLayout>

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

你需要设置TableLayout的android:weightSum属性,所以如果你有6行,你想为它们保持相同的高度,并且每行的属性权重都设置为1,那么android:weightSum属性TableLayout必须是6。