【发布时间】:2012-07-20 10:02:30
【问题描述】:
我想制作一个类似于GridView 的UI 元素,我希望它具有完整的功能,但希望它可以水平滚动而不是垂直滚动。
我所说的水平滚动是指它应该以这种方式构建,而不是放入HorizontalScrollView。
我的Custom GridView 将有固定数量的rows 说4-5 和columns 应该是extensible 基于Adapter 中的项目数。您可以将其视为与原生 GridView 所做的相反,但它应该保持功能。
我查看了 Google 如何实现 GridView 的源代码,但我能理解的很少,从头开始制作 View 似乎不是一个好主意,因为恐怕我无法像谷歌那样公正地对待内存优化。
我观察到GridView 扩展了AbsListView,所以我的问题是,是AbsListView 让GridView 垂直滚动并从适配器添加项目,还是GridView 添加垂直滚动能力?我应该调整GridView 还是AbsListView?
如果有什么东西已经在做我想做的事情,那就更好了?
这已经在 Android Honeycomb 3.1 及更高版本的原生 Gallery 和 YouTube 应用中实现。所以如果有人有想法,请详细说明。
Honeycomb Gallery 应用快照:
Honeycomb YouTube 应用截图:
【问题讨论】:
-
@Abhilasha 谢谢,但它与我想要做的完全无关。
-
你检查过 GalleryView 吗?
-
GalleryView 只有一行,我想要多行,类似于水平滚动的网格。
-
我猜你必须从头开始创建一个。我在 J2ME 中开发了相同的小部件。您需要使用
Canvas。如果您从头开始,请告诉我。我可以提供一些想法。而且不要忘记这绝对是耗时的。
标签: android android-listview android-view android-custom-view android-gridview