Android图像全屏查看器

Android image full screen viewer

我是 android 的新手。当点击它时,将 imageview 弹出到全屏(启用捏缩放)的最简单方法是什么,就像 whatsapp 图像一样?我正在通过 Glide 在回收站视图中加载我的图像。感谢您的宝贵时间和回复。


有一个名为 StfalconImageViewer 的库。它支持开箱即用的图像打开和关闭、捏合缩放和滑动关闭手势的过渡动画。使用 Glide 会这样完成:

1
2
3
4
5
6
new StfalconImageViewer.Builder<>(context, images, new ImageLoader<String>() {
            @Override
            public void loadImage(ImageView imageView, String imageUrl) {
                Glide.with(context).load(imageUrl).into(imageView)
            }
        }).show();

希望这会有所帮助!


我使用了 PhotoView (https://github.com/chrisbanes/PhotoView) 和 Glide (https://github.com/bumptech/glide)。

我首先创建了全屏活动并将 PhotoView 放入布局中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    tools:context=".PhotoviewerActivity">

    <com.github.chrisbanes.photoview.PhotoView
        android:id="@+id/fullscreen_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

</FrameLayout>

然后,我将要显示的图像 URL 传递给全屏活动并使用 Glide 加载图像,如下所示。

1
2
val imageUrl = intent.getStringExtra(IMAGE_URL)
Glide.with(applicationContext).load(imageUrl).into(fullscreen_content)

您可以从全屏布局中删除所有不需要的代码,也可以从全屏活动代码中禁用。
这些代码是用 Kotlin 编写的。


您可以使用比例类型为 FIT_XYImageView 视图(在此处查看有关 ImageView 比例类型的更多信息)

要缩放图像,您可以使用第三个库,例如这个库或自己编写一个类(参见此处)


这是我使用 glide 的单个图像的工作代码最后我发现了类似于 WhatsApp 的东西。我在互联网上挖掘了三天,现在我找到了解决方案。

1
2
3
4
5
6
7
8
new StfalconImageViewer.Builder<String>(context, new ArrayList<>(Arrays.asList(messageModel.get(position).getUrl().trim())), new ImageLoader<String>() {
    @Override
    public void loadImage(ImageView imageView, String image) {
        Glide.with(context)
                .load(image)
                .into(imageView);
    }
}).show();