2010-10-12 87 views

回答

0

创建一个ScrollView,然后在这里放置一个Horizo​​ntalScrollView。现在这将表现为具有垂直和水平滚动属性的对象。

+0

但是,用户体验将会非常糟糕。但在功能方面,这个解决方案确实有效。 – 2011-10-24 01:03:09

1

有水平滚动视图和垂直滚动视图的基类,但没有一个可以同时在两个维度上滚动的基类。

我发现了这个博客,其中Matt Clark创建了一个新的TwoDScrollView类。

http://blog.gorges.us/2010/06/android-two-dimensional-scrollview/

+0

我认为我已经读过它,它很好。但你如何显示网格?每个单元应该是可选的和可更新的。你将如何实现它们?我不认为GridView会工作,因为它不会水平滚动。 – 2011-12-30 08:09:29

+0

你见过谓语布局吗? http://stackoverflow.com/questions/549451/line-breaking-widget-layout-for-android你可以将它与TwoDScrollView用于你的目的。 – 2011-12-30 09:19:44

+0

好的。我可以看到TwoDScrollView中的谓词布局。但是有三个问题。一个大问题是谓词布局显示单行中的元素,无论我尝试使用布局的宽度和高度。另一个问题是,将1000个项目加载到谓词布局中非常缓慢(10-20秒)。最后一个问题是我必须在布局XML中指定TwoDScrollView的直接子布局的大小。这当然不会在实践中起作用。你之前尝试过吗?如果是这样,你可以分享你的XML布局吗? – 2011-12-30 17:17:05

0

我知道GridView中并不流行你的目的。但它仍然让我们更容易构建像UI这样的电子表格。

正如你所说,GridView控件本身不是水平滚动,并说500

但我认为你想尝试什么是修复GridView控件的大小将是如果控制在GridView数量超过极为缓慢是将显示给定矩形区域的数据并覆盖其触摸事件以模拟滚动操作。感谢基础适配器和gridview的其他技术,你的工作将是最小的。

这样的方法的很好的例子是Dennis's work

+0

我也这样倾斜。 – 2011-12-31 04:34:05

0

伪码

有一个TableLayout一个滚动视图内!!!

如何填充它 - >

For each row in spreadsheet TableRow tr = new TableRow() For each cell in row //Create a textview.// TextView trCell = new TextView() //Set TextView text, get text from spreadsheet current cell.// trCell.setText(cell.textvalue) tr.addview(trCell) } tableLayout.addView(tr) //Add tablerow to the tablelayout.// }

由于表是在滚动视图,如果表中的行延伸滚动视图的长度,滚动条将出现。

如果您需要更多信息,我会发布我的确切代码。如果你仍然无法得到它,那么我把全班上传到GitHub。