VS2017을 사용하여 교차 플랫폼 (UWP, Android, iOS) Xamarin 앱을 만듭니다. 기기의 폴더에있는 모든 이미지를 축소판으로 표시하려고합니다 (갤러리 앱, 샘플 스크린 샷과 유사). Xamarin Cross-Platform 앱에서 폴더의 모든 이미지를 표시하는 방법은 무엇입니까?
나는 자 마린 웹 사이트 (Link)에 제공 WrapLayout
샘플 코드로 보았다하지만 JSON
protected override async void OnAppearing()
{
base.OnAppearing();
var images = await GetImageListAsync();
foreach (var photo in images.Photos)
{
var image = new Image
{
Source = ImageSource.FromUri(new Uri(photo + string.Format("?width={0}&height={0}&mode=max", Device.OnPlatform(240, 240, 120))))
};
wrapLayout.Children.Add(image);
}
}
async Task<ImageList> GetImageListAsync()
{
var requestUri = "https://docs.xamarin.com/demo/stock.json";
using (var client = new HttpClient())
{
var result = await client.GetStringAsync(requestUri);
return JsonConvert.DeserializeObject<ImageList>(result);
}
}
나는 또한 Xamarin Media Plugin
(Link)로 보았다를 사용하여 인터넷에서 모든 이미지를로드,하지만 그것을 보여줍니다 한 번에 하나의 이미지 만. 샘플 코드 - 나는이 두 가지 (또는 다른 방법) 내 응용 프로그램에서 내 자신의 갤러리 섹션을 만들 수있는 방식으로 구현하는 방법을 찾을 수 없습니다입니다
await CrossMedia.Current.Initialize();
var file = await CrossMedia.Current.PickPhotoAsync();
if (file == null)
return;
MainImage.Source = ImageSource.FromStream(() =>
{
var stream = file.GetStream();
file.Dispose();
return stream;
});
하지만.