在MvxImageView控件中设置占位符图像

时间:2013-10-08 09:21:50

标签: xamarin.android mvvmcross

我有一大堆使用MvxImageView控件绑定的搜索结果。当应用程序下载每个图像时,有时会在图像呈现时进行少量等待。目前,这意味着搜索结果在呈现之前是白色的。

我希望在MvxImageView中有一个占位符图像,就像你可以将它放在一个标准的ImageView控件中一样。

这是代码。

<Mvx.MvxImageView
  android:id="@+id/item_searchresult_imageView"
  android:src="@drawable/product_placeholder"
  android:layout_gravity="center|top"
  android:layout_width="170dp"
  android:layout_height="128dp"
  android:layout_marginTop="10dp"
  android:layout_marginRight="10dp"
  android:layout_marginLeft="10dp"
  local:MvxBind="ImageUrl SearchResult.ProductImageId, Converter=PowerStorageImage" />

问题在于行

 android:src="@drawable/product_placeholder"
在加载主图像之前似乎没有正确设置

,并且在加载之前搜索结果仍为黑白色。

由于

修改

我还应该指出,在某些情况下,实际上并没有结果的图像,在这种情况下,我希望保留占位符图像。

1 个答案:

答案 0 :(得分:2)

您的建议与BookSellers样本中使用的占位符模式相同:

<Mvx.MvxImageView
  android:id="@+id/BookImageView"
  android:layout_width="80dp"
  android:layout_height="80dp"
  android:padding="8dp"
  android:src="@drawable/icon"
  local:MvxBind="ImageUrl AmazonImageUrl"
  />

来自https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/Sample%20-%20BestSellers/BestSellers/BestSellers.Droid/Resources/Layout/ListItem_Book.axml#L11

对于ImageUrl需要几秒钟下载的情况,它似乎正常。

如果您有一些客户使用案例,有时会有图像,有时现在,那么您可以尝试为您的特定案例编写一些代码,例如:

这个(相当混乱)问题的一些信息可能有所帮助 - http://mvvmcross.wordpress.com