?
Gallery
组件主要用于横向显示图像列表,不过按常规做法。
Gallery
组件只能有限地显示指定的图像。也就是说,如果为
Gallery
组件指定了
10
张图像,那么当
Gallery
组件显示到第
10
张时,就不会再继续显示了。这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第
1
张开始显示,也就是循环显示。要实现这种风格的
Gallery
组件,就需要对
Gallery
的
Adapter
对象进行一番改进。
Gallery组件的传统用法
p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; line-height: 125%; font-size: 10.5pt; font-family: "Times New Roman","serif"; }.MsoChpDefault { font-size: 10pt; }div.WordSection1 { page: WordSection1; }
在实现可循环显示图像的
Gallery
组件之前先来回顾一下
Gallery
组件的传统用法。
Gallery
组件可以横向显示一个图像列表,当单击当前图像的后一个图像时,这个图像列表会向左移动一格,当单击当前图像的前一个图像时,这个图像列表会向右移动一样。也可以通过拖动的方式来向左和向右移动图像列表。当前显示的是第
1
个图像的效果如图
1
所示。
Gallery
组件显示到最后一个图像的效果如图
2
所示。
p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; line-height: 125%; font-size: 10.5pt; font-family: "Times New Roman","serif"; }.MsoChpDefault { font-size: 10pt; }div.WordSection1 { page: WordSection1; }
从图 2 可以看出,当显示到最后一个图像时,列表后面就没有图像的,这也是 Gallery 组件的基本显示效果。在本文后面的部分将详细介绍如何使 Gallery 组件显示到最后一个图像时会从第 1 个图像开始显示。
好了,现在我们来看一下图 1 和图 2 的效果是如何做出来的吧。 Gallery 既然用于显示图像,那第 1 步就必须要有一些图像文件用来显示。现在可以随意准备一些图像。在本文的例子中准备了 15 个 jpg 文件( item1.jpg 至 item15.jpg )。将这些文件都放在 res\drawable 目录中。
下面将这些图像的资源 ID 都保存在 int 数组中,代码如下:
?
???? private ? int []?resIds? = ? new ? int []