【发布时间】:2016-06-22 22:53:24
【问题描述】:
我使用这个库 (https://github.com/androidquery/androidquery) 进行图像下载和显示。有一个回调方法。在此方法中,我正在检查位图是否大于屏幕尺寸。如果位图大于屏幕尺寸,那么我将位图分成 5 个位图部分并显示在 5 个图像视图中,因此分辨率很好。
final AQuery[] aq = {new AQuery(hh.imageview), new AQuery(hh.imageview3), new AQuery(hh.thumbnail3),
new AQuery(hh.thumbnail4), new AQuery(hh.thumbnail5), new AQuery(hh.thumbnail6)};
final Bitmap[] bitmap = new Bitmap[6];
aq[0].id(hh.imageview).image(url, false, true, 0, 0, new BitmapAjaxCallback() {
@Override
public void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) {
if(bm != null) {
if(bm.getHeight()>=maxTextureSize){
int h = bm.getHeight();
int w = bm.getWidth();
/* bitmap[0] = Bitmap.createBitmap(bm, 0 , 0, w, h/6);
iv.setImageBitmap(bitmap[0]);
bitmap[1] = Bitmap.createBitmap(bm, 0 , bitmap[0].getHeight(),
w, h/6);
aq[1].id(hh.imageview3).image(bitmap[1]);
bitmap[2] = Bitmap.createBitmap(bm, 0 , bitmap[0].getHeight() + bitmap[1].getHeight(),
w, h/6);
aq[2].id(hh.thumbnail3).image(bitmap[2]);
bitmap[3] = Bitmap.createBitmap(bm, 0, bitmap[0].getHeight() + bitmap[1].getHeight() + bitmap[2].getHeight(),
w, h/6);
aq[3].id(hh.thumbnail4).image(bitmap[3]);
bitmap[4] = Bitmap.createBitmap(bm, 0, bitmap[0].getHeight() + bitmap[1].getHeight() + bitmap[2].getHeight()+bitmap[3].getHeight(),
w, h/6);
aq[4].id(hh.thumbnail5).image(bitmap[4]);
bitmap[5] = Bitmap.createBitmap(bm, 0, bitmap[0].getHeight() + bitmap[1].getHeight() + bitmap[2].getHeight()+bitmap[3].getHeight()+bitmap[4].getHeight()
, w, h/6);
aq[5].id(hh.thumbnail6).image(bitmap[5]);*/
/* }
else if(bm.getWidth()>=maxTextureSize){
bm =Bitmap.createScaledBitmap(bm, maxTextureSize, bm.getHeight(), true);
iv.setImageBitmap(bm);
} else {
iv.setImageBitmap(bm);
hh.imageview3.setImageDrawable(null);
hh.thumbnail3.setImageDrawable(null);
hh.thumbnail4.setImageDrawable(null);
hh.thumbnail5.setImageDrawable(null);
hh.thumbnail6.setImageDrawable(null);
}
}
}
});
if(bitmap[0] != null) {
bitmap[0].recycle();
bitmap[0] = null;
}
if(bitmap[1] != null) {
bitmap[1].recycle();
bitmap[1] = null;
}
if(bitmap[2] != null) {
bitmap[2].recycle();
bitmap[2] = null;
}
if(bitmap[3] != null) {
bitmap[3].recycle();
bitmap[3] = null;
}
if(bitmap[4] != null) {
bitmap[4].recycle();
bitmap[4] = null;
}
if(bitmap[5] != null) {
bitmap[5].recycle();
bitmap[5] = null;
}
现在我已经移动了 Picasso (http://square.github.io/picasso/) 库。我也在这个库中寻找相同的逻辑。但无法找到我该怎么做?请帮帮我。
【问题讨论】: