在xamarin表单列表视图中显示与url相关的图像

时间:2017-09-05 18:19:39

标签: xaml xamarin.forms

我正在使用xamarin表单构建移动应用程序。我有一个listview,它将存储关于url的描述。我希望能够显示绑定到URL的图标或图像,而不会在我的数据库中保存图像。当您向某人发送网址时,我会使用该网址显示图片。有什么想法可以做到这一点?我一直在研究,没有运气。

3 个答案:

答案 0 :(得分:1)

希望这有帮助,为你的图像指定一个UriImage源,将uri属性设置为图像url

               <Image 
                HorizontalOptions="FillAndExpand"
                VerticalOptions="FillAndExpand"
                    Aspect="AspectFit">
                    <Image.Source>
                        <UriImageSource Uri="{Binding EventImage}" 
                            CacheValidity="3" 
                            CachingEnabled="true"/>
                    </Image.Source>
                </Image>

答案 1 :(得分:1)

要在ListView中的Image中显示,请使用ImageCell

<ImageCell ImageSource="{Binding FaviconUrl}" Text="{Binding Name}" />

您必须在模型中添加一个属性,以确定(或猜测)该网站的图标的正确网址。

答案 2 :(得分:0)

您可以使用Google S2 converter获取fav-icon。

例如: https://www.google.com/s2/favicons?domain=yahoo.comicon

要使其与您的图像控件一起使用,这在技术上应该起作用:

<ImageCell Text="{Binding DomainUrl}">
  <ImageCell.ImageSource>
    <UriImageSource Uri="{Binding Path=DomainUrl, StringFormat='https://www.google.com/s2/favicons?domain={0}'}"
      CacheValidity="1"
      CachingEnabled="true"/>
  </ImageCell.ImageSource>           
</ImageCell>

或者,

<ViewCell>
  <StackLayout Orientation="Horizontal" Padding="5">
    <Image HorizontalOptions="Center" VerticalOptions="Center">
      <Image.Source>
        <UriImageSource Uri="{Binding Path=DomainUrl, StringFormat='https://www.google.com/s2/favicons?domain={0}'}"
          CacheValidity="1"
          CachingEnabled="true"/>
      </Image.Source>                       
    </Image>
    <Label Text="{Binding Path=DomainUrl}" /> 
  </StackLayout>            
</ViewCell>