我正在使用Universal Image Downloader
来创建延迟加载列表视图。到目前为止,我已将height="200dp"
设置为ImageView
,但我想知道如何才能使ImageView
height
与实际图片height
对应。
我正在努力实现与Facebook
或9gag
应用相同的行为,即使图像尚未加载,ImageView
已经具有高度。
我猜他们会将图片大小(宽度和高度)与条目数据一起发送,并使用它们调整ImageView
之前加载图片,但这只是一个猜测。
有什么想法吗?
答案 0 :(得分:0)
使用wrapcontent对于imageview来说 机器人:layout_height = WRAP_CONTENT 机器人:layout_width = WRAP_CONTENT
答案 1 :(得分:0)
你可以使用这种方法。方法是returnig Rect obj。你可以从中获得图像高度宽度,你可以先将该高度设置为imageview,然后应用下载代码。
private Rect getBitmapBounds(Uri uri) {
Rect bounds = new Rect();
InputStream is = null;
try {
is = context.getContentResolver().openInputStream(uri);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(is, null, options);
bounds.right = options.outWidth;
bounds.bottom = options.outHeight;
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
closeStream(is);
}
return bounds;
}
对于下载图片,此链接也有一些方法.. Follow the link