カメラにアクセスして写真を撮ることができました (PictureChooser プラグインを使用)。写真は Android の画像ライブラリに保存されます。画面に表示して削除したいだけです (写真を保存する必要はありません)。どうやってやるの ?(数行のコードは大歓迎です :)) ありがとう !
ps: 多分 mvvmcross の File プラグインで?
編集:ご回答ありがとうございます。私にとって最善の方法は、カスタム バインディングを実行して byte[] を通常の 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|モノドロイド