java - Android 如何做到图像屏幕滑动?

标签 java android image-processing

我正在 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/

相关文章:

android - 比较忽略光线的图像android

java - swing.Timer不停止

java - Alfresco: checkin 在之前某个时间点 checkout 的文档(并且悬而未决)

android - 存储从 web 服务获取的数据后,在 RxJava 中返回订阅者

android - 如何设置 Intent "Intent.EXTRA_ALLOW_MULTIPLE"的最大文件选择计数。用户最多可以选择一定的限制?

android - 将相机图片保存在文件中,未创建文件

java - 如何在Spring 3.2.x中修改PathMatch?

java - 通过 Jetty 9 Maven 插件中的 jetty.xml 设置队列限制

java - Java 中的游程编码图像压缩

algorithm - 我怎样才能证明这个边遍历算法有效呢?