누구나 바이트 [] (이미지)를 Axml보기의 Image 컨트롤에 바인딩하는 방법을 알고 계십니까? 내 ViewModel이 MvxViewModel에서 상속됩니다. 내 모든 다른 바인딩은 훌륭하지만 이미지를 바인딩 할 수있는 방법을 찾을 수 없습니다.MvvmCross Android Bind 이미지 from []
답변
사용자 정의 UI 컨트롤을 사용하여 바인딩 할 수 있다고 생각합니다. ImageView
MyImageView
에서 상속
-
을 :
로 구현
MyImageView
에 새RawImage
속성을 추가 :private byte[] _rawImage; public byte[] RawImage { get { return _rawImage; } set { _rawImage = value; if (_rawImage == null) return; var bitmap = BitmapFactory.DecodeByteArray(_rawImage, 0,_rawImage.Length); SetImageBitmap(bitmap); } }
이렇게하려면, 당신은 같은 일을해야합니다
그런 다음 MyImageView
컨트롤을 보통 ImageView
대신 axml에서 사용할 수 있습니다.
참고 - 위의 코드는 테스트하지 않았지만 일단 View에서 byte []를 얻으면 어떤 드로 이드 코드를 사용해야하는지 확신 할 수 있습니다.
이 대안 방법으로, 당신은 또한 일반 ImageView
에 byte[]
를 결합하는 사용자 지정 바인딩을 사용할 수 있습니다 - 당신은 그것을 더 쉽게 할 수 In MvvmCross how do I do custom bind properties
바인딩 정의의 예를 볼 I 또한 그 질문에 걸림돌 후 것을 발견 :로
안드로이드 결합,이 같은보기를 구성 할 수 있습니다 ([1]에서 볼 수와 같은) ImageView
에 대한 비트 맵을 설정하는 것은 Bitmap
입니다 :
<ImageView
local:MvxBind="Bitmap ByteArrayToImage(ImageByteArray)" />
그런 다음 바이트 배열을 Bitmap 인스턴스로 변환하는 ByteArrayToImageValueConverter
이라는 ValueConverter 만 정의하면됩니다. 저 들어 ValueConverter을 사용하여 맞춤 결합 생성을 통해 바람직한 방법이다 이미 비트 맵 바이트 배열을 변환하기위한 코드를 가지고
아름다운 해결책. 감사! – ramonesteban78
- 1. MvvmCross : Android 용 바인딩
- 2. mvvmcross android intent plugin
- 3. Mvvmcross : android service와의 상호 작용
- 4. MVVMCross 바인딩 크래시 Android 애플리케이션
- 5. MvvmCross : Android 응용 프로그램 속성
- 6. 업로드 이미지 from blackberry
- 7. MVVMCross
- 8. 바인딩 MvvmCross
- 9. 이미지 캐싱을 적절하게 처리하는 방법. 피카소와 MvvmCross
- 10. Mvvmcross 이미지 파일에 URL을 바인딩하는 것
- 11. URL을 from android
- 12. android, text from webservices
- 13. Textviews from edittext android
- 14. Android : Canvas from scratch
- 15. android startActivity from JavascriptInterface
- 16. asynctask from handler android
- 17. Android FTP from URL
- 18. Https Post from android
- 19. Bind Devexpress girdview 2 from devexpress gridview1의 콜백
- 20. Android Bind service call 인터페이스 문제 '
- 21. MvvmCross Android MvxListView DrawableName 새로 고치지 않습니다.
- 22. Xamarin Forms는 MvvmCross (Android)로 빌드하지 않습니다
- 23. Android 용 Mono의 mvvmcross 인 텐트
- 24. MvvmCross Android BackgroundColor가 ViewModel에 바인딩되지 않았습니다.
- 25. 사용자 정의 가시성 변환기 - Android - Release (MvvmCross)
- 26. MvvmCross Android 애플리케이션으로 TestFlight를 설정하는 방법
- 27. MVVMCross (WP8, Android, iPhone) + Azure 모바일 서비스
- 28. MvvmCross Android Dialog - 중첩 된 RootElements의 동작
- 29. mvvmcross with autoview menu viewmodel + android layout보기
- 30. MVVMCross :보기 (Android 레이아웃)가로드되지 않습니다.
I의 정의를 사용
BitmapFactory.DecodeByteArray(_rawImage, 0,_rawImage.Length);
결국 바인딩. 도와 주셔서 감사합니다 –