2

我想在ScrollView內顯示TableLayout。該表有9 TableRow s,但ScrollView開始顯示第4行的一部分,我無法向上查看上面的行。ScrollView不顯示整個TableLayout

的XML-佈局:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/uyi_choosepi_relativelayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:keepScreenOn="true" > 

    <MyGallery 
     android:id="@+id/uyi_gallery_originals" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true"/> 

    <TableLayout 
     android:id="@+id/uyi_choosepi_buttontable" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:stretchColumns="0,1" > 

     <TableRow > 
      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Hilfe" 
       android:onClick="showHelp" 
       android:drawableLeft="@android:drawable/ic_menu_help" /> 

      <Button 
       android:id="@+id/uyi_choosepi_savepw" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Fertig" 
       android:clickable="false" 
       android:enabled="false" 
       android:onClick="savePassword" 
       android:drawableLeft="@android:drawable/ic_menu_save"/> 
     </TableRow> 
    </TableLayout> 

    <ScrollView 
      android:id="@+id/uyi_choosepi_scrollview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@id/uyi_gallery_originals" 
     android:layout_above="@id/uyi_choosepi_buttontable"> 

      <TableLayout 
      android:id="@+id/uyi_choosepi_tablelayout" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center_vertical|center_horizontal" 
      android:layout_gravity="center_vertical" 
      android:shrinkColumns="0,1,2" /> 
    </ScrollView> 

</RelativeLayout> 

TableRow S IN的uyi_choosepi_tablelayout其中以編程方式添加如下:

table = (TableLayout) findViewById(R.id.uyi_choosepi_tablelayout); 

     for (int i = 0; i < UYIMainActivity.PASS_LENGTH; i++) { 
      TableRow row = new TableRow(table.getContext()); 

      originalViews[i] = new ImageView(row.getContext()); 
      originalViews[i].setAdjustViewBounds(true); 
      originalViews[i].setScaleType(ScaleType.FIT_XY); 
      originalViews[i].setPadding(3, 3, 3, 3); 
      originalViews[i].setImageResource(R.drawable.oempty); 

      distortedViews[i] = new ImageView(row.getContext()); 
      distortedViews[i].setAdjustViewBounds(true); 
      distortedViews[i].setScaleType(ScaleType.FIT_XY); 
      distortedViews[i].setPadding(3, 3, 3, 3); 
      distortedViews[i].setImageResource(R.drawable.wempty); 

      ImageView arrow = new ImageView(row.getContext()); 
      arrow.setAdjustViewBounds(true); 
      arrow.setScaleType(ScaleType.FIT_XY); 
      arrow.setMaxWidth(80); 
      arrow.setPadding(3, 3, 3, 3); 
      arrow.setImageResource(R.drawable.arrow_active); 


      row.addView(originalViews[i]); 
      row.addView(arrow); 
      row.addView(distortedViews[i]); 
      table.addView(row); 
     } 

我希望你可以給我一個提示!

+0

嘗試改變烏爾表格佈局的layout_gravity屬性,也setScaleType在解決我的問題程序,如果可能的話給一個鏈接到你的截圖(因爲你目前不能發佈) – 2012-01-14 17:14:30

回答

0

我被周圍的TableLayoutLinearLayout

<ScrollView 
     android:id="@+id/uyi_choosepi_scrollview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@id/uyi_gallery_originals" 
     android:layout_above="@id/uyi_choosepi_buttontable"> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
     <TableLayout 
      android:id="@+id/uyi_choosepi_tablelayout" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:layout_gravity="center_vertical" 
      android:shrinkColumns="0,1,2" /> 
     </LinearLayout> 
    </ScrollView>