2

我有大量使用 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"

主图加载前好像没有设置好,加载前搜索结果还是黑白色。

谢谢

编辑

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

4

1 回答 1

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对于需要几秒钟下载的情况,它似乎可以正常工作。

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

这个(相当混乱的)问题中的一些信息可能会有所帮助 - MVVMCross Downloadcache - ProgressView during loading

于 2013-10-08T11:10:03.047 回答