2012-03-08 51 views
0

我想对齐TableRow右边的按钮。在TableRow里面,我有两个文字浏览和一个按钮。显示按钮时隐藏中间的textview。这是通过设置textview可见性消失在我的适配器内完成的。在TableLayout TableRow align button right?

我不知道什么是最好的方法是在显示时将按钮对齐到右边。

这是我的布局文件:

<?xml version="1.0" encoding="UTF-8" ?> 
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/widget28" 
    android:stretchColumns="1" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:paddingLeft="10sp" 
    android:descendantFocusability="blocksDescendants" 
    > 
    <TableRow> 
    <TextView 
    android:id="@+id/textTopLeft" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium"> 
    </TextView> 
     <TextView 
    android:id="@+id/textTopRight" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium"> 
    </TextView> 
    </TableRow> 
    <TableRow> 
     <TextView 
      android:id="@+id/textBottomLeft" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall"> 
     </TextView> 
     <TextView 
      android:id="@+id/textBottomRight" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall"> 
     </TextView> 
     <Button 
      android:id="@+id/btnSessionResume" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Resume" 
      android:visibility="invisible" 
      android:layout_marginRight="20px" 
      android:layout_alignParentRight="true"> 
     </Button> 
    </TableRow> 
    </TableLayout> 

的按钮是在底部的TableRow。

这里是什么样的布局目前看起来像一个截图:

enter image description here

回答

0

//采用Android:layout_span并删除右边距为您按钮

<?xml version="1.0" encoding="UTF-8" ?> 
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/widget28" 
    android:stretchColumns="1" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:paddingLeft="10sp" 
    android:descendantFocusability="blocksDescendants" 
    > 
    <TableRow android:layout_width="fill_parent" 
      android:layout_height="wrap_content" android:layout_span="2"> 
    <TextView 
    android:id="@+id/textTopLeft" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium"> 
    </TextView> 
     <TextView 
    android:id="@+id/textTopRight" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium"> 
    </TextView> 
    </TableRow> 
    <TableRow android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
     <TextView 
      android:id="@+id/textBottomLeft" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall"> 
     </TextView> 
     <TextView 
      android:id="@+id/textBottomRight" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall"> 
     </TextView> 
     <Button 
      android:id="@+id/btnSessionResume" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Resume" 
      android:visibility="invisible" 
      android:layout_marginRight="5dp" 
       android:layout_alignParentRight="true"> 
     </Button> 
    </TableRow> 
    </TableLayout> 
+0

嗨,感谢您的回答,但这不起作用。 – startupsmith 2012-03-09 22:41:25

0

也许你可以有表格行中的相对布局,然后在按钮上的TextViews和android:layout_alignParentRight上使用android:layout_alignParentLeft。

+0

嗨,感谢您的回答。我试过这个,但它把最上面一行的textviews弄糟了。有任何想法吗? – startupsmith 2012-03-09 22:41:49