2013-02-07 49 views
2

我有一個表,其中包含兩個tableRows,每個都包含四個視圖:texView,Spinner,editView和texView。如何設置editView最小寬度? (Android 2.2)

當其中一個小孩的內容不合適時,會自動剪下,這很好。不過,我希望它旁邊的editView保持最小寬度爲40dp。現在textViews的寬度被保留,但editView的寬度不是。我如何實現這一點(如果不是通過設置寬度和/或最小寬度,我現在嘗試,請參閱xml文件)?

直到這孩子長的罰款:
fine

現在,它不是那麼好:
not fine

這裏的佈局文件:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:ignore="InefficientWeight" > 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingLeft="10dp" 
      android:text="Worp " 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:paddingLeft="10dp" 
       android:textAppearance="?android:attr/textAppearanceLarge" /> 

      <Spinner 
       android:id="@+id/spinner1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:drawSelectorOnTop="true" 
       android:tag="SP1" /> 

      <EditText 
       android:id="@+id/editText1" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:ems="10" 
       android:inputType="phone" 
       android:minWidth="40dp" /> 

      <TextView 
       android:id="@+id/textView4" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:gravity="center_horizontal" 
       android:textAppearance="?android:attr/textAppearanceLarge" /> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/textView2" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:paddingLeft="10dp" 
       android:textAppearance="?android:attr/textAppearanceLarge" /> 

      <Spinner 
       android:id="@+id/spinner2" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:drawSelectorOnTop="true" 
       android:tag="SP2" /> 

      <EditText 
       android:id="@+id/editText2" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:ems="10" 
       android:inputType="phone" 
       android:minWidth="40dp" > 

       <requestFocus /> 
      </EditText> 

      <TextView 
       android:id="@+id/textView5" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:gravity="center_horizontal" 
       android:textAppearance="?android:attr/textAppearanceLarge" /> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 
     </TableRow> 
    </TableLayout> 

</ScrollView> 

回答

0

看來,由於wrap_content屬性表格列的寬度正在改變。嘗試將錶行的屬性從wrap_content更改爲match_parent或嘗試使用weightSum。

相關問題