2017-09-25 13 views
1

나는 우리가} 아래자 마린 FFImageLoading 사용 해명

var cachedImage = new CachedImage() { 
    HorizontalOptions = LayoutOptions.Center, 
    VerticalOptions = LayoutOptions.Center, 
    WidthRequest = 300, 
    HeightRequest = 300, 
    ... 
    Source = <url or asset or resource location> 

같은 FFImageLoading 사용을 참조;

또는 XAML에서

는 :
<ffimageloading:CachedImage 
    HorizontalOptions="Center" VerticalOptions="Center" 
    WidthRequest="300" HeightRequest="300" 
    DownsampleToViewSize="true" 
    Source = "<url or asset or resource location>> 
</ffimageloading:CachedImage> 

, 그래서, 나는 CachedImage 내 안드로이드 프로젝트에 내 UWP 프로젝트 ImageImageView의 모든 인스턴스를 교체했다.

그러나 FFImageLoading 설명서를 통해 읽은 후에는 이미지가로드되는 사례가 많습니다. ImageService을 사용합니다. 예를 들어 :

ImageService.Instance.LoadUrl(urlToImage).Into(_imageView); 
ImageService.Instance.LoadCompiledResource(nameOfResource).Into(_imageView); 
... 
  • 이 두 가지 방법의 차이점은 무엇입니까?

  • 왜 다른 것을 사용하나요?

답변

2

FFImageLoading은 다중 플랫폼 라이브러리입니다. ImageService.Instance 메소드는 이미지를 네이티브 뷰 (Android의 경우 ImageViewAsync, iOS의 경우 UIImageView) 및 일부 고급 시나리오의 이미지로로드하는 데 사용됩니다. 내부처럼, 그 방법을 사용하여 특정 플랫폼 컨트롤도 있습니다 : Xamarin.Forms 네이티브 안드로이드/아이폰 OS/Windows 또는 MVVM 크로스에 대한

  • MvxCachedImageView
  • 에 대한

    • CachedImage

    그들은 이용해 허용 상자 밖으로 바인딩과 같은 것들.

    플랫폼 관련 컨트롤을 사용하고 고급 작업을 위해 ImageService.Instance 호출을 사용하는 것이 좋습니다. 그러나 그것은 전적으로 당신에게 달렸습니다.

    +0

    올바르게 이해하면 ImageService.Instance는 코드에서만 사용되지만 CachedImage는 코드와 XAML에서 모두 사용할 수 있습니까? – pixel

    +2

    'ImageService'는 코드에서 호출 할 수 있고,'CachedImage'는 Xamarin.Forms에서만 사용할 수 있습니다 (그리고 그것은'ImageService'를 사용합니다) –