2012-08-06 31 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。