可以使用哪个View / Widget通过水平滑动一次一个地在屏幕上显示图像?

时间:2014-12-21 04:57:29

标签: android

我有一个列表视图,我希望每个列表项都包含图像。但是图像将一次显示一个。因此,在每个列表项目的时间,仅显示一个图像。要查看列表项中的其他图像,必须水平滑动。
是否有任何内置的小部件在android中处理这个?

EDIT1

我的列表项不仅有图像,还包含其他视图,如textview,seekbar等。因此每个列表项将包含图像,textview,搜索栏等,但大部分空间将被图像占用。现在,对于每个列表项,当水平滑动图像时,必须从ulr下载另一个图像并显示。

EDIT2

我对ViewPager进行了一些研究,但许多引用如answers hereblog似乎表明在listview中使用ViewPager并不是一个好主意。这是为什么?如果这不是一个好主意,那么什么是好的选择呢?

6 个答案:

答案 0 :(得分:3)

使用ViewPager可以解决此问题。

链接:http://developer.android.com/training/animation/screen-slide.html

答案 1 :(得分:2)

ViewPager(用于在视图之间滑动)+ UniversalImageLoader(用于从网址加载图片,使用缓存等)

答案 2 :(得分:2)

  

如果不是,那么什么是好的选择呢?

我认为您应该将RecyclerViewLinearLayoutManager.HORIZONTAL一起使用。回收视图的所有内容,view holder design pattern都可以轻松完成,而widget引入了google,您可以使用它代替ListView + ViewPager。因为如您所建议的那样,建议不要在viewpager内使用listview。虽然您可以使用horizontalScrollView,但它不会回收视图。存在this之类的其他第三方库但我建议您将RecyclerViewLinearLayoutManager.HORIZONTAL一起使用,因为它来自谷歌,并且通常比人工库测试更多。另一件事是你可以使用其他布局管理器,如GridLayoutManager,或者有3行水平滑动或其他好的效果,如添加动画和.... googleRecyclerView提供。  要下载图片,您可以使用PicassoVolleyUniversal Image Loader或许多其他库。

快乐编码:-)

答案 3 :(得分:1)

不确定我是否关注过你,而不是ListView使用ViewPager与简单的片段一次包装单个图片更简单。通过这种方式,您可以获得横向滑动"免费"。

答案 4 :(得分:0)

您只是想要滑动来更改图像吗?或者您想要在滑动时滚动图像?对于前者,您可以使用GestureDetector。对于后者,您可能会使用ViewPager。见http://developer.android.com/training/animation/screen-slide.html

答案 5 :(得分:0)

我通过使用ViewPager实现了相同的功能,您可以将SeekBar和TextView放在Fragment类中,您将为每个项目创建多个实例并添加到pageradapter,

您还可以在主片段布局文件中的ViewPager Layout上方添加TextView和SeekBar,并在viewpager的项目更改侦听器上更改搜索栏上的文本和数据,这看起来更整洁,这是我使用的方法< / p>