如何创建 4 列的 TableLayout?
我在创建具有 4 列且水平跨越的表格布局时遇到问题。
我希望我的行看起来像这样:
AAPL | 200.00 |图像分割器| 1.53 (+1.5%)
我希望 200.00 以及 1.53(+1.5%) 右对齐。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="@drawable/stocks_gradient" android:orientation="horizontal">
<TableLayout android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/priceText" android:layout_height="wrap_content"
android:id="@+id/TableLayout01">
<TableRow android:layout_width="wrap_content"
android:layout_below="@+id/nameText" android:id="@+id/TableRow01"
android:layout_height="wrap_content"></TableRow>
<TextView android:id="@+id/nameText" android:layout_height="wrap_content"
android:padding="5dip" android:layout_alignParentLeft="true"
android:text="Symbol" android:textStyle="bold" android:textSize="24sp"
android:layout_width="100dp" android:textColor="#4871A8" />
<TextView android:id="@+id/priceText" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:padding="5dip"
android:layout_toRightOf="@+id/nameText" android:gravity="right"
android:text="100" android:textStyle="bold" android:textSize="24sp"
android:textColor="#4871A8" />
<ImageView android:layout_toLeftOf="@+id/changeText"
android:id="@+id/verticalDivider" android:background="@drawable/vertical_divider"
android:layout_width="wrap_content" android:layout_height="48dp"></ImageView>
<TextView android:id="@+id/changeText" android:layout_height="wrap_content"
android:layout_toRightOf="@+id/priceText" android:gravity="right"
android:textSize="18sp" android:text="3.07(+1.08%)" android:padding="12dip"
android:layout_width="fill_parent" />
</TableLayout>
I am having problems creating a table layout with 4 columns, that span horizontally.
I want my Row to look like this:
AAPL | 200.00 | Image Divider | 1.53 (+1.5%)
I want the 200.00 to be right aligned, as well as the 1.53(+1.5%).
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="@drawable/stocks_gradient" android:orientation="horizontal">
<TableLayout android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/priceText" android:layout_height="wrap_content"
android:id="@+id/TableLayout01">
<TableRow android:layout_width="wrap_content"
android:layout_below="@+id/nameText" android:id="@+id/TableRow01"
android:layout_height="wrap_content"></TableRow>
<TextView android:id="@+id/nameText" android:layout_height="wrap_content"
android:padding="5dip" android:layout_alignParentLeft="true"
android:text="Symbol" android:textStyle="bold" android:textSize="24sp"
android:layout_width="100dp" android:textColor="#4871A8" />
<TextView android:id="@+id/priceText" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:padding="5dip"
android:layout_toRightOf="@+id/nameText" android:gravity="right"
android:text="100" android:textStyle="bold" android:textSize="24sp"
android:textColor="#4871A8" />
<ImageView android:layout_toLeftOf="@+id/changeText"
android:id="@+id/verticalDivider" android:background="@drawable/vertical_divider"
android:layout_width="wrap_content" android:layout_height="48dp"></ImageView>
<TextView android:id="@+id/changeText" android:layout_height="wrap_content"
android:layout_toRightOf="@+id/priceText" android:gravity="right"
android:textSize="18sp" android:text="3.07(+1.08%)" android:padding="12dip"
android:layout_width="fill_parent" />
</TableLayout>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
android:layout_toLeftOf
、android:layout_toRightOf
和android:layout_below
是与relativelayout一起使用的属性。您没有RelativeLayout
。因此,上面 XML 中使用的那些属性对您没有任何好处。要制作具有四列的行,请拥有
TableRow
小部件的四个子项。我不完全清楚如何实现右对齐效果。也许
android:gravity
会让你到达那里,但我怀疑问题比这更复杂。android:layout_toLeftOf
,android:layout_toRightOf
, andandroid:layout_below
are attributes for use with RelativeLayout. You do not have aRelativeLayout
. Hence, those attributes as used in your XML above are doing you no good.To make a row with four columns, have four children of the
TableRow
widget.I am not completely clear on how you would achieve your right-aligned effect. Probably
android:gravity
will get you there, but I have a suspicion that the problem is more complicated than that.android:gravity
应该是您所需要的,因为您的 TextView 已经在width=fill_parent
中,例如它将文本与视图内的右侧对齐。否则,您也可以使用
android:layout_gravity="right"
,例如,如果您有一个带有width=wrap_content
的视图,并且您需要告诉容器如何对齐它。android:gravity
should be all you need here since your TextView is already inwidth=fill_parent
, e.g. it will align the text to the right inside the view.Otherwise you can also play with
android:layout_gravity="right"
, e.g. if you have a view withwidth=wrap_content
and you need to tell the container how to align it.