我需要实现一个图像和按钮列表。我有 6 张图像作为分隔符,总共有 14 个带有自定义背景的按钮。该列表具有全屏 (800×600) 背景,分隔图像为 800×30 像素,按钮也具有相似的大小(所有按钮具有相同的背景图像)。最重要的是,我需要一个自定义滚动指示器:顶部和底部有两个闪烁的箭头。箭头应根据滚动位置显示或隐藏。
我还有其他一些 GUI 元素,包括使用 View.GONE 隐藏的 GLSurfaceView,因为列表显示在这些元素之上。
问题是,这种设置在 Galaxy Nexus 或 Desire HD 等功能相对强大的手机上运行速度太慢。
我尝试了两种不同的方法:
- 使用基于本教程的 ListView:http ://android.amberfog.com/?p=296
- 将所有按钮和图像放入一个 LinearLayout 并将其用作 ScrollView 的子项。要隐藏和显示闪烁的箭头,我通过覆盖 onScrollChanged 来确定滚动位置(同步 ScrollView 滚动位置 - android)
两种实现都运行缓慢,具体取决于实际的手机。ScrollView 实现通常更快,但它在 Desire 或 Galaxy Nexus 上有明显的滞后,而 ListView 实现在 Desire HD 上很慢。
哪个是实施此类列表的最佳方式?您能否建议我一些指导方针,如何使实施快速且独立于设备?我相信列表中有大约 20 个图像和按钮对于这些手机来说应该不是问题。