我能够访问相机并拍照(使用PictureChooser插件),它将图片存储在android的图片库中,我只是想在屏幕上显示并删除它(我不需要商店图片) 我怎样才能做到这一点 ? (欢迎几行代码:))谢谢!
ps:也许使用mvvmcross的文件插件?
编辑:感谢您的回答,我认为对我来说最好的方法是做一个自定义绑定将byte []绑定到普通的ImageView,我看到了自定义绑定的示例(textview和按钮),我试着做我的。
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
答案 0 :(得分:0)
将图像上传到网络服务的内容已在uploading photo to a webservice with mvvmcross and mono touch
中介绍在Take/Select picture and show it in ImageView without saving first (using MvvmCross)
中介绍了在ImageView中显示图像要查找这些匹配,我使用了StackOverflow搜索框,其中包含“mvvmcross”和“picture” - https://stackoverflow.com/search?q=mvvmcross+picture
更新后更新(请尽量不要这样做 - 请尝试提出新问题 - 您可以随时交叉引用它们。)
我已经更新了更新中的绑定代码 - 它有字符串和Streams以及byte [] - 所以我把所有内容都放到了byte []级别,然后添加了一个byte []属性视图模型。
要使用绑定,您现在应该可以使用:
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
local:MvxBind="Picture ImageBytes"
/>
请注意,您不需要TwoWay - TwoWay用于View需要向ViewModel发送更改时 - 例如当用户在文本框中输入文本时。