如何在Android中创建类似电子表格的显示?

4

我正在尝试在Android应用程序中显示一个电子表格,其中每个列都应该被线条包围,并且可以自动调整列宽。我使用了Table Layout,数据以表格格式显示,但我不知道如何为每列添加线条并进行自动调整。如果有人知道,请帮助我。

4个回答

4

4

您可以为TableLayout设置背景颜色,并为TableRow添加边距:

<TableLayout android:background="#000000">
    <TableRow android:background="#ffffff" android:layout_margin="3dip">
    <!-- etc. -->

谢谢回复,这对使用XML很有用,但我正在通过Java代码添加TableRows以实现动态布局目的。你有任何关于Java代码的想法吗? - Rajapandian
3
您可以使用ViewsetBackgroundColorMarginLayoutParams.setMargins方法,在代码中实现相同效果。 - Josef Pfleger

3
我在这里开源了我写的一个基本电子表格:

https://github.com/dennis-sheil/android-spreadsheet

它还没有一个基本的功能:您可以加载Microsoft Excel 2007/2010 (.xlsx)文件之前的文件,但不能加载Excel 2007/2010 (.xlsx)文件。这是我一直在实现的功能。有一个代码库(POI)可以做到这一点,但实施起来有复杂性。

你能提供包含你的应用程序的JAR文件吗?我下载了一些JAR文件,但是有些方法出错了。 - pengwang
我成功地运行了应用程序,它看起来非常像Excel。做得很好。但是一旦光标超出可见范围,应用程序就会崩溃。我不太担心xlsx,但我想知道你如何处理具有有限网格视图的Excel数据。 - Tae-Sung Shin

0

使用TableLayout.LayoutParamsTableRow.LayoutParams。它们继承了ViewGroup.MarginLayoutParams,这似乎是你需要的。

一个使用TableRow.LayoutParams的示例代码可能如下:

// you can also init values for width, height and weight here
TableRow.LayoutParams params = new TableRow.LayoutParams();
params.setMargins(LEFT_MARGIN, TOP_MARGIN, RIGHT_MARGIN, BOTTOM_MARGIN);

TextView textView = new TextView(this);
textView.setText("I'm in the table");

TableRow row = new TableRow();
row.addView(textView, params);

当您向表格布局添加内容时,可以使用TableLayout.LayoutParams应用相同的原则。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接