Does anyone know how to bind a byte[] (image) to a Image control in a axml view. My ViewModel inherit from MvxViewModel. All my other bindings works great but I cannot find a way to bind that image.
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
You can do it even easier and I also found that out after stumbling on that question:
As the Android-binding for setting a Bitmap for a
ImageView
isBitmap
(as you can see at [1]), you can configure your view like this:Then you only need to define a ValueConverter, called
ByteArrayToImageValueConverter
, that converts the byte array to an instance of Bitmap. For me, using a ValueConverter is the preferred way over creating custom binding ;)You already had the code for converting a byte array to a bitmap:
BitmapFactory.DecodeByteArray(_rawImage, 0,_rawImage.Length);
[1] https://github.com/MvvmCross/MvvmCross/blob/bbf9a2ac76e74d9404f4b57036c6e29dfe2cc6c3/Cirrious/Cirrious.MvvmCross.Binding.Droid/MvxAndroidBindingBuilder.cs#L79
I think you could bind this using a custom UI control.
To do this, you'll need to do something like:
MyImageView
fromImageView
add a new
RawImage
property toMyImageView
, implementing it as:You can then use that
MyImageView
control in your axml instead of the normalImageView
.Note - this code above not tested - but once you get the byte[] in the View I'm sure you'll work out what Droid code to use.
As an alternative approach to this, you could also use a custom binding to bind a
byte[]
to a normalImageView
- see an example of custom binding in In MvvmCross how do I do custom bind properties