2015-11-10 164 views
1

我有一個TableLayout與未對齊的列, 顯示的問題,並通過查看按鈕上的文本被剪切,以獲得拉伸的小看法。TableLayout&滾動視圖拉伸在佈局

XML佈局:

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

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_margin="3dp" 
    android:layout_weight="2" 
    android:paddingTop="4dp" 
    android:orientation="horizontal"> 
    <TextView 
     android:id="@id/libStatus" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType = "fitXY"/> 
</LinearLayout> 

    <TableLayout 
     android:id="@+id/headerTable" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="2dp" 
     android:layout_marginLeft="2dp" 
     android:stretchColumns="0,1" 
     android:shrinkColumns="1"> 
     <TableRow android:id="@+id/headerRow" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
      <TextView 
       android:id="@+id/header_col1" 
       android:textColor="@android:color/black" 
       android:layout_marginLeft="1dp" 
       android:gravity="center_horizontal" 
       android:layout_weight="1" 
       android:background="@drawable/cell_shape" 
       android:text="@string/lib_dev_name" /> 
      <TextView 
       android:id="@+id/header_col2" 
       android:textColor="@android:color/black" 
       android:gravity="center_horizontal" 
       android:layout_weight="1" 
       android:layout_marginRight="1dp" 
       android:background="@drawable/cell_shape1" 
       android:text="@string/lib_status" /> 
     </TableRow> 
    </TableLayout> 

    <ScrollView 
     android:id="@+id/table_scroll" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="2dp" 
     android:layout_marginLeft="2dp"> 
     <TableLayout 
      android:id="@+id/table_devices" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginRight="2dp" 
      android:layout_marginLeft="2dp" 
      android:stretchColumns="0,1" 
      android:shrinkColumns="1" > 
      <TableRow> 
       <TextView 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:layout_marginLeft="1dp" 
        android:gravity="center_horizontal" 
        android:text="Col1" /> 
       <CheckBox 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:layout_marginRight="1dp" 
        android:gravity="center_horizontal" 
        android:text="Col2" /> 
      </TableRow> 
     </TableLayout> 
    </ScrollView> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_margin="3dp" 
    android:layout_weight="2" 
    android:paddingTop="4dp" 
    android:orientation="horizontal"> 

    <Button 
     android:id="@id/btnConnect" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:scaleType = "fitXY" 
     android:text="@string/lib_connect"/> 

    <Button 
     android:id="@id/btnCancel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:scaleType = "fitXY" 
     android:text="@string/lib_cancel"/> 
</LinearLayout> 

當我運行的應用程序的佈局這怎麼會出現:

Screenshot of the application

請您的意見和建議。

預先感謝您。

回答

0

試試這個代碼:

<TableLayout 
    android:id="@+id/headerTable" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="2dp" 
    android:layout_marginLeft="2dp" 
    android:stretchColumns="*" > 
    <TableRow 
     android:id="@+id/headerRow" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <TextView 
      android:id="@+id/header_col1" 
      android:textColor="@android:color/black" 
      android:layout_marginLeft="1dp" 
      android:gravity="center" 
      android:layout_weight="1" 
      android:background="@drawable/cell_shape" 
      android:text="@string/lib_dev_name" /> 
     <TextView 
      android:id="@+id/header_col2" 
      android:textColor="@android:color/black" 
      android:gravity="center" 
      android:layout_weight="1" 
      android:layout_marginRight="1dp" 
      android:background="@drawable/cell_shape1" 
      android:text="@string/lib_status" /> 
    </TableRow> 
</TableLayout> 

<ScrollView 
    android:id="@+id/table_scroll" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <TableLayout 
     android:id="@+id/table_devices" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="2dp" 
     android:layout_marginLeft="2dp" 
     android:stretchColumns="*" > 
     <TableRow> 
      <TextView 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:layout_marginLeft="1dp" 
       android:gravity="center" 
       android:text="Col1" /> 
      <CheckBox 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:layout_marginRight="1dp" 
       android:gravity="center" 
       android:text="Col2" /> 
     </TableRow> 
    </TableLayout> 
</ScrollView> 


<TableRow 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal> 

    <Button 
     android:id="@id/btnConnect" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/lib_connect"/> 
    <Button 
     android:id="@id/btnCancel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/lib_cancel"/> 
</TableRow> 
+0

代碼更正按鈕拉伸,謝謝。但是,標題的列仍然不與scrollview中tableLayout中的列對齊。 – MysteryDev