Android TableLayout 中的表格列

发布于 2024-12-28 01:27:32 字数 614 浏览 1 评论 0原文

有谁知道是否可以向 Android 中的 TableLayout 添加列?我需要在表格中显示相对大量的数据。显然,这不应该全部显示在一列中。

您可以通过创建 TableRow() 对象来添加行。此外,还有一些 xml 参数,但我不知道如何通过 Java 代码访问它。

         TextView val = new TextView(this);
         val.setText(args.get(i));
         table.addView(val);
         table.addView(tr,new TableLayout.LayoutParams(
                    LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT));

我无法在 TableRow.LayoutParams 中找到适合我的匹配值。但可能我试图以错误的方式使用它。

         table.addView(val,new TableRow.LayoutParams(
                 LayoutParams. ?? ));

Does anyone know whether it is possible to add columns to a TableLayout in Android? I need to display a relatively huge amount of data within a table. Obviously, this shouldn't be displayed all in one column.

You can add rows by creating a TableRow()-Object. Furthermore there's some kinda xml-parameter, but I don't know how to access it via the Java-Code.

         TextView val = new TextView(this);
         val.setText(args.get(i));
         table.addView(val);
         table.addView(tr,new TableLayout.LayoutParams(
                    LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT));

I was unable to find a matching value in the TableRow.LayoutParams that worked for me. But probably I tried to use it in the wrong way.

         table.addView(val,new TableRow.LayoutParams(
                 LayoutParams. ?? ));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

蓝天 2025-01-04 01:27:32

当您向平板电脑行添加新视图时,每个视图都会变成一个新的“列”。

因此,如果您执行类似的操作(假设行数据位于 List rowData 中,列数据位于 RowData 中的 List 中)。

for (RowData rd : rowData)
{
    TableRow row = new TableRow(this);
    for (DataPoint dp : rd.getDataPoints())
    {
       TextView tv = new TextView(this);
       tv.setText(dp.getText());

       /* any other styling stuff here */

       row.addView(tv);
     }
 table.addView(row);
}

这将生成一个具有多个列的表,全部位于一个表中。

对于布局参数,您可以可以使用:

new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, (float) 5);

这意味着 0 宽度,在高度上包裹内容,然后宽度的相对“权重”Android 将很好地布局您的列。

As you add new views to the tablet row each view becomes a new "column".

So, if you do something like this (assuming your row data is in List rowData and your column data is in a List in rowData.

for (RowData rd : rowData)
{
    TableRow row = new TableRow(this);
    for (DataPoint dp : rd.getDataPoints())
    {
       TextView tv = new TextView(this);
       tv.setText(dp.getText());

       /* any other styling stuff here */

       row.addView(tv);
     }
 table.addView(row);
}

That will result in a table, with multiple columns, all within a single table.

For layout params, you can use:

new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, (float) 5);

What that means is 0 width, wrap content on height, then a relative "weight" for the width. Android will layout your columns nicely with this.

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