如何在Xamarin.Forms中添加图像和图标?

时间:2018-02-12 15:32:10

标签: xaml xamarin xamarin.forms

这是我第一次使用Xamarin.Forms,我想知道如何添加图标或图像。我试着查一查,但这很复杂

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:hello"
             x:Class="hello.MainPage">
    <StackLayout >
        <Label Text="Hello" 
               VerticalOptions="Center" 
               HorizontalOptions="Center" 
               TextColor="White"
               FontSize="30"
               FontAttributes="Italic"/>

        <Image /> I am trying to add it here
        <Icon/> I am trying to add it here

        <Label Text="Name" 
               VerticalOptions="Center" 
               HorizontalOptions="Center" 
               TextColor="White"
               Font="large"/>
        <entry placeholder="Enter your name here"/>
    </StackLayout>
</ContentPage>

2 个答案:

答案 0 :(得分:2)

Xamarin.Forms中,建议仅在本机项目中添加图像,因为每个平台都需要不同的尺寸和分辨率的图像。因此,我们在此处添加图像,以处理Android和iOS项目。

Android:

  • drawable-mdpi
  • drawable-hdpi
  • drawable-xhdpi
  • drawable-xxhdpi

hdpimdpi drawable-xhdpi drawable-xxhdpi表示屏幕密度,以每英寸点数为单位。

  

最佳做法是将应用启动器图标放置在mipmap中(而不是   drawable-文件夹)

请记住,在Android中,所有图像都位于不同的文件夹中,但具有相同的命名约定。

Drawable文件夹中添加图像:

enter image description here

iOS:

Apple从iOS 9开始不赞成使用这种在iOS应用中处理图像的方法。您应该改用资产目录

有关更多信息,请参见Image Sizes and Filenames

对于iOS项目,展开Resources文件夹并在此处添加图像。在iOS中,我们遵循命名约定来区分图像。 如果您的图片名称为abc.png,则对于此图片的高版本,可以使用abc@2x.pngabc@3x.png等。

请记住,在iOS中,所有图像都位于同一文件夹中,但命名约定不同。

Resource文件夹中添加图像:

enter image description here

UWP:

通用Windows平台(UWP)-使用“构建操作:内容”将图像放置在应用程序的根目录中。

UWP图像文件名可以在文件扩展名前添加 .scale-xxx 后缀,其中xxx是应用于资产的缩放比例,例如myimage.scale-200.png。然后可以在不使用scale修饰符的代码或XAML中引用图像,例如仅myimage.png。平台将根据显示器的当前DPI选择最接近的合适资产规模。

在共享项目中使用图像

<Image  Source="Image1"  WidthRequest="80" HeightRequest="80" ></Image>

答案 1 :(得分:1)

您可以设置页面的图标,但我不知道Icon控件。设置页面图标可以指向本地资源或在线资源。

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
     xmlns:local="clr-namespace:hello"
     x:Class="hello.MainPage" 
     Icon="Icon.png">

设置显示您需要设置图像来源的Image

<Image Source="waterfront.jpg" />