我正在使用xamarin工作室。我必须从Web服务下载一堆图像。我只获取他们的网址,然后我使用以下代码制作图像位图
SetContentView (Resource.Layout.test);
ImageView img = FindViewById<ImageView> (Resource.Id.image);
Bitmap bitimage = GetImageBitmapFromUrl ("http://apk.payment24.co.za/promotions/engensa/muffin.png");
img.SetImageBitmap (bitimage);
public static Bitmap GetImageBitmapFromUrl(string url)
{
Bitmap imageBitmap = null;
using (var webClient = new WebClient())
{
var imageBytes = webClient.DownloadData(url);
if (imageBytes != null && imageBytes.Length > 0)
{
imageBitmap = BitmapFactory.DecodeByteArray(imageBytes, 0, imageBytes.Length);
}
}
return imageBitmap;
}
问题是我显示的图像非常小。如果我手动从网址下载图像并将其添加到项目中,它可以正常工作。 我的图像视图设置包括:match_parent和height:wrap_content。 如果我通过URL下载图像,如何获得图像的原始大小。 请参阅此链接,了解图片的外观http://postimg.org/image/c3kbsz903/
答案 0 :(得分:2)
您需要在Imageview中添加android:adjustViewBounds ="true"
和android:src="@drawable/
属性
<ImageView
layout_width="match_parent"
layout_height="wrap_content"
android:adjustViewBounds ="true"
android:src="@drawable/ dummy drawable/>
请检查android中的ScaleType。
答案 1 :(得分:0)
您声明您的视图属性是这样的
<ImageView
layout_width="match_parent"
layout_height="wrap_content" />
要获得图像的原始大小,您必须将ImageView的layout_width
属性设置为wrap_content
,以便ImageView不会使用其父级的宽度但会适应图像的原始大小。