iielse / imageviewer

A simple and customizable Android full-screen image viewer 一个简单且可自定义的Android全屏图像浏览器
MIT License
2.23k stars 310 forks source link

MessagePicturesLayout图片可能不显示的问题 #11

Closed Jeff-bai closed 6 years ago

Jeff-bai commented 7 years ago

MessagePicturesLayout显示图片的时候,第一次能出现图片,第二次以后基本绘制不出图片。

LengM commented 6 years ago

也有一样的问题。。

LengM commented 6 years ago

清理以下Glide缓存就好了

MikiHu commented 6 years ago

怎么清理Glide缓存啊,什么时候清理啊?

iielse commented 6 years ago

github搜索这个 HighPerformanceFriendsCircle https://github.com/KCrason/HighPerformanceFriendsCircle 9宫格图片展示推荐用这个项目里面的实现方法。 替换 MessagePicturesLayout 代码可以下载运行,我试过效果非常不错哇。

iielse commented 6 years ago

之前demo中没有添加下拉刷新, 所以大家所说的刷新图片第二次不绘制,在demo中没有出现过。 现在,我在demo一种的顶部加入了数据刷新功能,但是依旧无法复现(小米和华为,3台测试机)。 那么各位在集成MessagePicturesLayout时的刷新的方式可能和我不一样?

findViewById(R.id.vRefresh).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(v.getContext().getApplicationContext(), "刷新列表内容 adapter.reset()" , Toast.LENGTH_SHORT).show();
                adapter.set(Data.get());
            }
        });

其实就是再次调用 adapter.notifyDataSetChanged()

可以尝试新的demo代码吗? @MikiHu @LengM @Jeff-bai @xiong5201314 @gandesheng

7e5a5592a790451bf5fcdda9786366c5

点击顶部蓝色区域。

谢谢,有空请告诉我结果~

同时这里有一个性能更好的 九宫格 , 了解一下 https://github.com/KCrason/HighPerformanceFriendsCircle/blob/master/app/src/main/java/com/kcrason/highperformancefriendscircle/widgets/NineGridView.java

xujiaji commented 6 years ago

本来想换,不过更麻烦,于是看了下是因为第一次显示set VISIBLE还没来得及测量。 将MessagePicturesLayout构造方法中的squareImageView.setVisibility(View.GONE);注释掉就可以了。 没有图片时直接隐藏整个布局。