如何建立一个ViewPager来滑动大图像?

时间:2019-04-15 15:11:14

标签: android android-viewpager fragmentpageradapter

我正在尝试使用 ViewPager 通过 FragmentPagerAdapter 滑动一组图像。因此,我的片段的每个实例都将显示一个图像。

我将在下面描述我对该方法的理解:

在我的适配器内,我有这种方法来选择正确的片段:

@Override
public Fragment getItem(int position) {
switch (position) {
    case 0:
        return FirstImageFragment.newInstance(mImages[0]);
    case 1:
        return MiddleImageFragment.newInstance(mImages[1]);
    case 2:
        return LastImageFragment.newInstance(mImages[2]);
    default:
        return null;
    }
}

现在在我的片段中,我应该实现静态方法 newInstance()以某种方式保存图像,该图像将在片段被实例化时在 onCreate()中获得。 Android。

根据我在其他答案中所读的内容,在片段内传递该图像的唯一两种方法是:

  1. 将其保存到 newInstance()bundle.putParcelable("image", image)

  2. 将图像保存在媒体文件夹中的私人文件中,以便以后检索。

我的问题是:

  • 第一种方法是否始终可行? (考虑到图像可能很大。我读到捆绑包的上限为1MB)

  • 如果要处理大图像,第二种方法是否效率很低?我是否需要将每个图像(使用不同的文件名)保存在内部存储器中,以便稍后通过 onCreate()进行检索?

  • 是否可以仅传递URI或适配器的列表中具有的某种图像的唯一ID /字符串?

0 个答案:

没有答案