我试图绑定一个图像的src.
我已经尝试使用MvxHttpImageView这样
<Mvx.MvxHttpImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/iconeView" local:MvxBind="{'ImageUrl':{'Path':'ImgSrc'}}" />
同
public string ImgSrc { get {return "@res/drawable/icon.png"; } }
我已经尝试了其他几个ImgSrc,仍然没有任何结果.
icon.png在我的Resources / Drawable目录中,是一个AndroidResource
任何帮助将是伟大的!
谢谢
解决方法
mvxhttpimageview知道如何从http和’disk’加载图像
可悲的是,它不知道如何从资源加载
>你可以写你自己的自定义绑定
>您可以使用标准的imageview,存储在android资源中的图像和mvx内置的“AssetImagePath”绑定.
要尝试第一个,请查看会议示例 – 最喜爱的按钮背景如何绑定到IsFavorite
做第二个:
>包括资产文件夹中的图标 – 例如/assets/icon1.png
>确保构建操作设置为AndroidAsset
>在XML中使用标准的ImageView和绑定文本,如{‘AssetImagePath’:{‘Path’:’WhichAsset’}}
在实际使用中,我通常还使用一个转换器,它将一个viewmodel属性(如State)映射为一个值为LoadState.Loading的资源映像路径,如“/loadingimages/loading.png”
您可以在https://github.com/slodge/MvvmCross/blob/master/Cirrious/Cirrious.MvvmCross.Binding/Android/Target/MvxImageViewDrawableTargetBinding.cs中看到资产绑定的代码