0

VS2017을 사용하여 교차 플랫폼 (UWP, Android, iOS) Xamarin 앱을 만듭니다. 기기의 폴더에있는 모든 이미지를 축소판으로 표시하려고합니다 (갤러리 앱, 샘플 스크린 샷과 유사). Sample image from Xamarin websiteXamarin 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; 
    }); 

하지만.

답변

0

특정 플랫폼에서 활동을 만들어야합니다. 이 활동은 예를 들어 종속성 서비스를 사용하여 PCL 프로젝트의 의도로 시작됩니다. 이 사용자 정의 액티비티에서는 특정 확장자, 크기 등의 제한에 맞는 파일 인 경우 현재 디렉토리의 소스를 채우는 GridView가 있어야합니다.

마지막으로 선택한 이미지를 얻으려면 이미지 경로 또는 DependencyService가있는 PCL 프로젝트에 필요한 모든 것.

관련 문제