我正在尝试从网址下载图片。这是我的代码:
a
我的按钮下载点击了
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/edt_main_url"
android:hint="URL"
android:text="http://xamarin.com/resources/design/home/devices.png" />
<Button
android:text="Download"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btt_main_download" />
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/prb_main_progress"
android:visibility="gone" />
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/img_main_image"
android:scaleType="centerInside" />
</LinearLayout>
当webClient完成下载时
void mBttDownload_Click(object sender, EventArgs e)
{
mPrbProgress.Visibility = ViewStates.Visible;
var url = new Uri(mEdtURL.Text);
WebClient webClient = new WebClient();
webClient.DownloadDataAsync(url);
webClient.DownloadDataCompleted += webClient_DownloadDataCompleted;
}
但是e.Result是空的。我还在清单中设置了Internet权限。但没有变化!我怎样才能解决这个问题? 谢谢!
答案 0 :(得分:1)
我建议使用UrlImageViewHelper组件:UrlImageViewHelper这非常棒。
Tis是一种古老的学校方式:Check in github
答案 1 :(得分:1)
对于想要使用预建库来帮助他们的用户,我也会为这个问题推荐这个问题的答案 -
Asynchronously Load Image from URL into ImageView in Xamarin Android
以下摘自 jzferino
特别是对于Droid,可以使用此 - https://components.xamarin.com/view/square.picasso
对于X-Platform IOS和Droid -
https://www.nuget.org/packages/Xamarin.FFImageLoading/(Nuget)
https://github.com/luberda-molinet/FFImageLoading(来源)
FFImageLoading还允许您在加载图像方面具有很大的灵活性 - 即对于droid: