我能够访问相机并拍照(使用PictureChooser插件),它将图片存储在android的图片库中,我只想将其显示在屏幕上并删除它(我不需要存储图片)我怎样才能做到这一点 ?(欢迎使用几行代码:))谢谢!
ps:也许用 mvvmcross 的 File 插件?
编辑:感谢您的回答,我认为对我来说最好的方法是进行自定义绑定以将字节 [] 绑定到普通的 ImageView,我看到了自定义绑定的示例(文本视图和按钮),我尝试制作我的。
namespace Testa.Droid.Bindings
{
class PictureBinding : MvxBaseAndroidTargetBinding
{
private readonly ImageView _imageView;
public PictureBinding(ImageView imageView)
{
_imageView = imageView;
}
public override MvxBindingMode DefaultMode
{
get { return MvxBindingMode.OneWay; }
}
public override Type TargetType
{
get { return typeof (byte[]); }
}
public override void SetValue(object value)
{
var memoryStream = new MemoryStream((byte[])valyue);
Bitmap bitmap = BitmapFactory.DecodeStream(memoryStream);
_imageView.SetImageBitmap(bitmap);
}
}
}
在 Setup.cs 中
protected override void FillTargetFactories(Cirrious.MvvmCross.Binding.Interfaces.Bindings.Target.Construction.IMvxTargetBindingFactoryRegistry registry)
{
base.FillTargetFactories(registry);
registry.RegisterFactory(new MvxCustomBindingFactory<ImageView>("Picture", (imageView) => new PictureBinding(imageView)));
}
在我的 ViewModel 中,我有:
public byte[] ImageData {
get { return _imageData; }
set { _imageData = value; RaisePropertyChanged(() => ImageData); }
}
现在在我看来我不知道如何使用这个自定义绑定
<ImageView
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
local:MvxBind="Picture ??, Mode=TwoWay" />
mvvcross vNext|monodroid