我知道有很多关于这个的问题已经浮现在SO周围但是我已经阅读了很多问题,仍然无法让我的第3列与右边对齐。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#FFFFFF"
android:stretchColumns="2"
>
<TableRow>
<ImageView
android:src="@drawable/blue_light"
android:layout_height="48px"
android:layout_width="48px"
android:padding="3dp"
android:layout_margin="3dp"
android:layout_column="1"/>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10px"
android:layout_gravity="center_vertical"
android:layout_column="2">
<TableRow>
<TextView
android:id="@+id/row_title"
android:textColor="#000000"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/row_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#9E9E9E"
android:textStyle="italic|bold"/>
</TableRow>
</TableLayout>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_gravity="center_vertical|right"
android:gravity="center_vertical|right"
>
<TableRow>
<TextView
android:textColor="#1F9C29"
android:textSize="15dp"
android:id="@+id/row_txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />
</TableRow>
<View
android:layout_height="1dp"
android:background="#000000"
android:layout_marginRight="3dp"
/>
<TableRow>
<TextView
android:textColor="#1B27D1"
android:id="@+id/row_txt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"/>
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
我做错了什么?
答案 0 :(得分:5)
无法使我的第3列与右侧对齐。
关闭袖口,我怀疑嵌套的TableLayout
小部件不能很好地工作。虽然TableLayout
旨在模仿HTML表格“API”,但类比仍有限制。
如果您希望“第3列与右侧对齐”,请将所有内容放入外部TableLayout
,然后在该列中的所有小部件上尝试android:layout_gravity="right"
。
答案 1 :(得分:0)
我遇到了同样的问题,并通过以下方式解决了这个问题:
在TableRow属性中添加以下两行:
android:layout_gravity="center"
android:gravity="right"
如果您使用Layout_gravity = right,由于某种原因它根本不起作用。 请享用, 阿德里安。