2011-03-21 36 views
2

图库视图以水平方式显示图像。关于图库视图的查询

让我们考虑横向模式。 第一张图像显示在屏幕中央。当用户在屏幕左侧滚动时,第一个图像移动到屏幕左侧,第二个图像占据屏幕中央。此外,它会自动将图像定位在中央。

有什么办法由

  1. 我可以停在中心显示图像。

  2. 例如,如果我将图像滚动到一个位置,它应该停止自动移动&对齐&停止在哪里滚动。

请提供您的建议。提前致谢。

回答

1

Gallery将始终是中央锁定布局。你不能改变这一点。

如果你没有很多的图像显示,你可以把它们放在水平的LinearLayout,并把布局放在HorizontalScrollView里面。但要小心,这样做会消耗大量的资源,因为所有的子视图都将被创建。

ListViewGallery布局具有优化,允许它们在滚动时回收子视图。

如果您需要回收利用,您可能需要重新实现自己的水平ListView,而不需要Gallery的滚动系统。看到这个优秀的Stackoverflow在这个问题上的问题:How can I make a horizontal ListView in Android?

+2

画廊不回收意见。 – 2011-04-22 19:51:39

+1

它并没有真正地查看回收 - 它为适配器中的每件物品创建了一个新的视图 - 注意它总是将'null'传递给'getView',所以你永远不能再使用'convertView'。但是,如果它显示的是已经显示的项目,它确实从回收站获得了该视图,而不是创建一个新视图(因为它们完全一样)。 – 2011-04-26 10:57:49

+2

在适配器中放置了一些断点。你会看到它调用getView()的次数惊人。画廊小部件真的是一块了不起的垃圾。 – 2011-04-26 15:25:34