2016-02-06 26 views
-1

我在按鈕單擊事件中添加了一個表格行。我的行有2個textview和2個spinners和1個​​EditText。我希望列的大小相同,但是微調控件的大小會根據所選值更改。請幫助,並分享一些燈。如何保持表列的大小與安卓視圖無關

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

     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:paddingTop="5dp" 
     android:stretchColumns="*" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TableRow 

      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp"> 

      <TextView 

       android:layout_width="1dp" 
       android:layout_height="fill_parent" 
       android:layout_weight=".2" 
       android:background="@drawable/cell_shape" 
       android:padding="5dp" 
       android:text="S.No" 
       android:singleLine="false" 
       android:textAppearance="?android:attr/textAppearanceMedium"></TextView> 

      <TextView 

       android:layout_width="1dp" 
       android:layout_height="fill_parent" 
       android:layout_weight=".2" 
       android:background="@drawable/cell_shape" 
       android:padding="5dp" 
       android:text="Product" 
       android:textAppearance="?android:attr/textAppearanceMedium"></TextView> 

      <TextView 

       android:layout_width="1dp" 
       android:layout_height="fill_parent" 
       android:background="@drawable/cell_shape" 
       android:layout_weight=".2" 
       android:padding="5dp" 
       android:text="Product List" 
       android:textAppearance="?android:attr/textAppearanceMedium"></TextView> 


     <TextView 

      android:layout_width="1dp" 
      android:layout_height="fill_parent" 
      android:background="@drawable/cell_shape" 
      android:layout_weight=".2" 
      android:padding="5dp" 
      android:text="Price" 
      android:textAppearance="?android:attr/textAppearanceMedium"></TextView> 
     <TextView 

      android:layout_width="1dp" 
      android:layout_height="fill_parent" 
      android:background="@drawable/cell_shape" 
      android:layout_weight=".2" 
      android:padding="5dp" 
      android:text="Quantity" 
      android:textAppearance="?android:attr/textAppearanceMedium"></TextView> 
     </TableRow> 
     <!--<TableRow 
      android:id="@+id/tr1" 
      android:layout_weight="1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp"/>--> 
    </TableLayout> 

    <TableLayout 
android:id="@+id/tlayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     > 

     </TableLayout> 

</LinearLayout> 

    <Button 
     android:id="@+id/addButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="Add Item" 
     /> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"><Button 
     android:id="@+id/confirm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 

     /></LinearLayout> 
    </LinearLayout> 

在此先感謝

+0

你可以添加布局的XML ?,它會更容易幫助你。 – kevinkl3

+0

我已經添加了xml佈局 –

+0

您是否以編程方式添加新行?如果是這種情況,你是否使用佈局和LayoutInflater? – kevinkl3

回答

0

如果微調增長到選定值相匹配你極有可能不得不layout_width設置爲wrap_content

這聽起來像你應該用更多的東西一樣layout_weight正確使用up水平空間

編輯︰ 我看不到這個視圖將滾動,如果它變得太大。這聽起來像你應該使用RecyclerViewListView而不是你的TableLayout。 列表中的每個項目可以是這樣的:

<LinearLayout 
    android:layout_height="?android:attr/listItemPreferredHeight" 
    android:layout_width="match_parent" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/some_text" 
     android:layout_height="match_parent" 
     android:layout_width="0dp" 
     android:layout_weight="1"> 
    <TextView 
     android:id="@+id/some_more_text" 
     android:layout_height="match_parent" 
     android:layout_width="0dp" 
     android:layout_weight="1"> 
</LinearLayout> 

注:佈局註銷我的頭頂,可能不是完全有效的:P

你可以明顯地把匹配的控制和權重是什麼你想,但從你的問題,我假設這是你所尋求的預期行爲

+0

隨着wrap_content旋轉器增長到選定的項目的大小,與layout_weight我沒有得到預期的行爲 –

+0

我編輯我的答案解決新信息,希望它可以幫助 – keith

+0

感謝基思以上建議,我會嘗試列表視圖和更新 –