我正在 android 上构建一个非常基本的画廊,它显示相机文件夹中的最后一张图像,用户可以向左滑动以查看上一张。
我完成了一个使用 viewpager 的实现,以及一个使用 sampleSize 缩放图像的 pagerAdapter。我的问题是,该实现没有默认图库应用程序高效,每次滑动图像时,您都必须等待大约 200 毫秒才能加载下一个图像。所以基本上我关于如何实现它的想法没有奏效。
我怎样才能有效地做到这一点,如果可能的话,实现允许稍后放大和缩小?
这看起来很有希望,但我不知道如何用文件而不是可绘制对象来实现它 http://www.androidviews.net/2012/11/photoview/
编辑:
我已经使用 photoview(一个被黑的 viewpager)设法提高了一点速度,但是将文件路径转换为位图或可绘制对象需要太多时间。
dilix和iDroid Explorer推荐的这两种方法我都试过了:
// Method A
Drawable d = Drawable.createFromPath(imagePath);
imageView.setImageDrawable(d);
// Method B
Bitmap myBitmap = BitmapFactory.decodeFile(imagePath);
imageView.setImageBitmap(myBitmap);
但是两者都会产生错误Bitmap too large to be uploaded into a texture
。我需要尽快将图像获取到 imageView 并以某种方式绕过此错误,也许我会获得不错的速度。现在我正在缩放图像并将它们转换为可绘制对象,但效率不高。
最佳答案
查看这个很棒的网站:http://www.androidviews.net/ 也许这就是你想要的:http://www.androidviews.net/2012/11/photoview/
它可以根据需要进行页面滚动、缩放和平移 我在我的项目中使用了它,并进行了一些修改和延迟图像加载。它完全按照您的需要工作。
关于java - Android 如何做到图像屏幕滑动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14447850/