我正在使用毕加索在一个回收视图中显示许多小的ImageViews。当我单击ImageViews时,ImageViews将其图像更改500毫秒,并在500毫秒的处理程序结束时将其更改回来。
这是代码:
Picasso.get().load(imageResources[position]).into(holder1.itemImageView);
holder1.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
final Context context = v.getContext();
Picasso.get().load(pressedResource[position]).into(holder1.itemImageView);
new Handler().postDelayed(new Runnable() {
public void run() {
Picasso.get().load(imageResources[position]).into(holder1.itemImageView);
}
}, 500);
new Thread(new Runnable() {
@Override
public void run() {
EventHandlerClass.startMediaPlayer(v, soundID);
}
}).start();
}
});
我使用毕加索来防止我的应用程序出现内存崩溃。图像消失大约10毫秒,然后改变到另一个图像,在500毫秒后,它再次消失,然后改变回默认图像。它只是在我第一次点击其中的一个图像的时候才会让人失望,之后它就不会让人失望了。我认为这是因为毕加索加载图像的速度太慢。有没有一种方法可以先加载图像并在我点击按钮时显示它?
这里有一个GIF显示了它的样子:https://media.giphy.com/media/stlgbpxvt8b9ibvnqs/giphy.GIF在本例中它只会消失一次,但有时只需单击一次就会消失两次。
图像都是200x200,大约8KB。格式为.webp
我该如何防止这种情况发生?
其思想是等待回调,然后将图像设置到image视图中。这是通过使用CallBackListener实现的。
Picasso.get().load(imageResources[position]).into(holder1.itemImageView);
holder1.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
final Context context = v.getContext();
Picasso.get().load(pressedResource[position]).into(holder1.itemImageViewnew com.squareup.picasso.Callback() {
@Override
public void onSuccess() {
new Handler().postDelayed(new Runnable() {
public void run() {
Picasso.get().load(imageResources[position]).into(holder1.itemImageView);
}
}, 500);
new Thread(new Runnable() {
@Override
public void run() {
EventHandlerClass.startMediaPlayer(v, soundID);
}
}).start();
}
@Override
public void onError() {
}
}));
}
});
我正在使用毕加索图书馆。我知道,如果我将图片从URL加载到图像视图中,有一种回调方法。但我不想加载到imageview中。相反,我想将其另存为位图。所以我用了下面的代码 我怎样才能得到一个回调方法,知道我的图像是成功下载使用毕加索? 不要说位图对象的空检查。这会导致错误。
我面临毕加索无法快速加载图像的问题。 有3个显示左、中、右图像。在快进/后退时,对于给定的时间点,选择左、中、右并显示在三个框中。 这是初始化。缓存是100MB以及99MB的 窗口移动的图像数是3000。所以我将图像预加载为 平均图像大小为10KB-320x180,因此达到35MB,小于99MB。 当快速循环工作时,许多图像是(来自)和(来自),但在几个快速循环之后,3个图像冻结或变得非常慢。此时
我正在使用volley向tmdb数据库发出RESTAPI请求,以加载有关电影的信息。回收器视图应显示缩略图图像海报。但它没有显示任何东西。我正在使用毕加索图书馆加载图像。图像链接构造得很好,我已经用log语句检查过了 主要活动。xml 列出项目布局。xml 主要活动 电影数据加载器
我有一个从服务器加载映像的项目。我这样用毕加索, 多谢了。
我可以使用Picasso库从文件系统加载图像吗? 我正在使用让用户从他的图库中选择一张照片,然后想要显示所选图像。 我已经有了获取图像文件系统Uri的工作代码,但无法获取毕加索。load()方法工作。
问题内容: 我想使用Picasso在列表视图中一个接一个地加载三个连续的图像。使用毕加索提供的方法可以轻松做到这一点。但是,由于这些图像在不同的时间加载,因此在图像进入时会产生闪烁效果。例如,有时图像2出现在图像1之前,而当图像1加载时会导致不自然的结结。如果可以将listview的可见性设置为不可见,直到可以显示所有图像,那将更好。但是,我找不到用于毕加索的回调方法,该方法会在加载图像时发出信号