在我的RecyclerView
行中,我有一个ImageView
,我希望在同一活动中预览此ImageView
图片(全屏预览)
为此,我这样做:
public void showImageZoomable(String imageURL) {
imageViewZoomable.setVisibility(View.VISIBLE);
DisplayImageOptions options = new DisplayImageOptions.Builder().cacheOnDisk(true).build();
imageLoader.loadImage(imageURL , options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
imageViewZoomable.setImage(ImageSource.bitmap(loadedImage));
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
});
toolBar.setVisibility(View.GONE);
getActivity().findViewById(R.id.tabs).setVisibility(View.GONE);
}
当用户点击ImageView
(在Recyclerview
的行上)并且它获取该图片的网址(图片已被缓存)时,会触发上述功能
并使用imageLoader库
imageViewZoomable
它工作正常,但整个过程有点慢和滞后
任何想法如何改进?或者我这样做的方式效率不高,请建议我一个更好的选择
答案 0 :(得分:0)
尝试使用
imageLoader.displayImage(imageURL, imageViewZoomable);
而不是
imageLoader.loadImage(...);
答案 1 :(得分:0)
当用户在recyclerview项目中单击图像时,您可以使用全屏对话框(扩展DialogFragment)来显示全屏图像
答案 2 :(得分:0)
如果您的自定义类将imageView对象(如imageViewZoomable.getImage())作为imageView返回,则可以使用以下代码,以便您可以像下面一样传递它。
imageLoader.displayImage(imageURL, imageViewZoomable.getImage());