如何创建 4 列的 TableLayout?

发布于 2024-09-24 16:55:43 字数 2103 浏览 4 评论 0原文

我在创建具有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云裳 2024-10-01 16:55:43

android:layout_toLeftOfandroid:layout_toRightOfandroid:layout_below 是与relativelayout一起使用的属性。您没有 RelativeLayout。因此,上面 XML 中使用的那些属性对您没有任何好处。

要制作具有四列的行,请拥有 TableRow 小部件的四个子项。

我不完全清楚如何实现右对齐效果。也许 android:gravity 会让你到达那里,但我怀疑问题比这更复杂。

android:layout_toLeftOf, android:layout_toRightOf, and android:layout_below are attributes for use with RelativeLayout. You do not have a RelativeLayout. 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.

我一向站在原地 2024-10-01 16:55:43

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 in width=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 with width=wrap_content and you need to tell the container how to align it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文