android.widget.Gallery的替代品(不是Gallery应用程序)

android.widget.Gallery的替代品(不是Gallery应用程序),android,gallery,Android,Gallery,如果以前有人问过这个问题,我很抱歉,但是我试过用谷歌搜索这个话题,但没有任何好结果。基本上,我正试图找到一个替代品来替代谷歌已经决定不推荐的Gallery小部件。到目前为止,我有以下候选人: 寻呼机。不幸的是(据我所知),一次只能显示一个视图。我知道有人在这里发布了解决方法:。但我对这种方法有问题。在我的手机上,会显示三幅图像(水平)。最左边和最右边是静态的,而中间的是可滚动的(就像ViewPager应该做的那样)。i、 e.当我滚动ViewPager时,最左边和最右边的图像不会滚动。所以我不得

如果以前有人问过这个问题,我很抱歉,但是我试过用谷歌搜索这个话题,但没有任何好结果。基本上,我正试图找到一个替代品来替代谷歌已经决定不推荐的Gallery小部件。到目前为止,我有以下候选人:

  • 寻呼机。不幸的是(据我所知),一次只能显示一个视图。我知道有人在这里发布了解决方法:。但我对这种方法有问题。在我的手机上,会显示三幅图像(水平)。最左边和最右边是静态的,而中间的是可滚动的(就像ViewPager应该做的那样)。i、 e.当我滚动ViewPager时,最左边和最右边的图像不会滚动。所以我不得不拒绝这个解决方案

  • GridView。看起来不错,但GridView的设计似乎是水平和垂直滚动的。我只需要一行,水平滚动。据我所知,画廊的设计并没有考虑到这一点

  • 水平滚动视图。谷歌在Javadocs中提出的另一个建议(除了ViewPager)。看起来是个不错的选择,但是。。。如果我理解正确,使用这种方法,所有的内容都将被预先实例化。没有延迟加载

  • 所以我现在很困惑。似乎最好的解决方案是一次只使用一个视图的ViewPager(我不希望这样),或者坚持使用Gallery

    人们怎么想


    提前谢谢

    android.support.v4.view.ViewPager
    是最终答案

    您可以显示任意数量的页面(
    视图
    s),这完全取决于
    PagerAdapter
    。它有一个方法
    .getPageWidth(position)
    ,每个页面都会调用该方法。例如,如果返回0.5,则页面宽度将仅为
    ViewPager
    宽度的一半


    不要坚持使用
    Gallery
    ,因为它存在内存泄漏问题。

    。Carousel 3d with renderscripts.Hi。是的,我知道getPageWidth方法。不幸的是,它显示了左边的当前视图,而不是中间视图(我认为这是相当误导的)。此外,我还有一个onPageChangeListener()来显示当前页面的一些文本。如果所有视图都已显示,我似乎无法“激活”最后几个视图。例如,假设屏幕一次可以显示5个项目。当用户滚动到最后一页(比如总共28个项目)时,最后一页将显示项目26-28。但是我无法将页面“更改”为项目27和28,因为它们已经显示出来了。我希望这是有道理的