在TableLayout TableRow对齐按钮对吗?

时间:2012-03-08 08:19:17

标签: android android-layout

我正在尝试将按钮对齐到TableRow的右侧。在TableRow里面,我有两个textview和一个按钮。显示按钮时隐藏中间文本视图。这是通过将textview可见性设置为已经完成在我的适配器内完成的。

我不确定在显示按钮时将按钮对齐的最佳方法是什么。

这是我的布局文件:

    <?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

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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