2012-08-06 28 views
4

我有一个linearLayout在一个tableRow里面,这个linearLayout包含一个我想为我的应用程序显示的图表。 我读了一些线程说,tableRow的孩子不需要指定其宽度和高度,所以我做到了,但图表不显示。如果我将linearLayout指定为width = fill_parent和height = 200dp,那么linearlyLayout只填充tableRow的1/3。LinearLayout不填充表格甚至宽度fill_parent被称为

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

    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center_horizontal" > 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Record" 
       android:textSize="18dp" 
       android:textStyle="bold" 
       android:typeface="serif" > 
      </TextView> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center_horizontal" > 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.3" 
       android:text="Name:" 
       android:textStyle="bold" 
       android:typeface="serif" > 
      </TextView> 

      <EditText 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.7" 
       android:ems="10" 
       android:singleLine="true" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center_horizontal" > 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.3" 
       android:text="Date:" 
       android:textStyle="bold" 
       android:typeface="serif" > 
      </TextView> 

      <TextView 
       android:id="@+id/editRecordDate" 
       android:layout_width="0dp" 
       android:layout_weight="0.7"  
       android:layout_height="wrap_content" /> 
     </TableRow> 


     <TableRow 
      android:id="@+id/tableRow9" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" > 

      <LinearLayout 
       android:id="@+id/soundaomplitude_graphViewLinearLayout" 
       android:paddingTop="4dip" > //if I specify nothing then nothing is displayed, if I set width = fill_parent and height = 200dp, then only 1/3 of the space is occupied 

      </LinearLayout> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow10" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" > 

      <Button 
       android:id="@+id/saveEditRecord" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:text="Save" /> 

      <Button 
       android:id="@+id/deleteEditRecord" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:text="Delete" /> 

      <Button 
       android:id="@+id/cancelEditRecord" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right" 
       android:layout_weight=".3" 
       android:text="Cancel" /> 
     </TableRow> 
    </TableLayout> 

</ScrollView> 

回答

13

我发现刚设置的权重= 1(或任何数量)为的LinearLayout

<LinearLayout 
       android:id="@+id/soundaomplitude_graphViewLinearLayout" 
       android:layout_width="0dp" 
       android:layout_height="200dp" 
       android:layout_weight="1" 
       android:paddingTop="4dip" /> 
1

看起来,TableRow作为一个LinearLayout,因此在TableRow中嵌套一个右边似乎是多余的。在Eclipse中,它也说,它是“无用的”。因此,您可以直接在TableRow中包含视图(任何视图),而不是LinearLayout。如果没有显示,那么可能还有其他一些问题。

+0

我必须使用的LinearLayout因为这是我的图表的图。 – 2012-08-07 00:21:14

0

再次阅读TableLayout如何管理其内容。特别要注意的是,它忽略了子视图的layout_width。