You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:如何在Xamarin.Forms中添加图片与图标?

嘿,作为刚入坑Xamarin.Forms的新手,太懂你查资料时被一堆复杂内容绕晕的感觉了!我给你整理了几个最实用、步骤清晰的添加图标/图片的方法,看完就能上手:

一、添加界面展示用的普通图片

1. 先把图片放到对应平台的资源文件夹

不同平台的资源存放位置有讲究,别放错了:

  • Android:把图片(比如my_photo.png)放到Resources/drawable文件夹,注意文件名必须全小写,不能有空格或特殊字符,如果有多分辨率版本,对应放到mdpi/hdpi/xhdpi等子文件夹里
  • iOS:放到项目的Resources文件夹,右键图片设置生成操作为BundleResource
  • UWP:放到Assets文件夹,设置生成操作为Content

2. 在XAML里引用图片(最常用)

直接用Image控件就能快速展示,代码很简单:

<!-- 基础用法 -->
<Image Source="my_photo.png" WidthRequest="120" HeightRequest="120" />

<!-- 可以加圆角、拉伸模式等属性 -->
<Image Source="my_photo.png" 
       WidthRequest="120" 
       HeightRequest="120"
       Aspect="AspectFill"
       CornerRadius="60" />

Xamarin.Forms会自动识别不同平台的分辨率适配图,不用手动加@2x或者hdpi这类后缀。

3. 在C#代码里动态设置图片

如果需要根据逻辑动态切换图片,代码里这么写:

// 创建Image控件
var profileImage = new Image
{
    Source = ImageSource.FromFile("my_photo.png"),
    WidthRequest = 120,
    HeightRequest = 120,
    CornerRadius = 60
};

// 把控件加到布局里(比如StackLayout)
myStackLayout.Children.Add(profileImage);
二、设置应用的桌面图标(App Icon)

如果是要给App设置桌面显示的图标,步骤也不复杂:

1. Android平台

  • 准备多分辨率的图标(比如48x48、72x72、96x96等),分别放到Resources/mipmap-mdpi、mipmap-hdpi等对应分辨率的文件夹
  • 打开AndroidManifest.xml,确保application标签里的android:icon指向你的图标:
<application android:label="MyXamarinApp" android:icon="@mipmap/ic_launcher">

2. iOS平台

  • 准备符合苹果规范的图标(包括1024x1024的App Store图标,以及各种尺寸的桌面图标)
  • 打开Info.plist,找到「App Icons and Launch Images」,选择「Asset Catalog」,然后把对应尺寸的图标拖到Asset Catalog的App Icon各个占位框里就行

3. UWP平台

  • 准备不同尺寸的图标放到Assets文件夹
  • 打开Package.appxmanifest,切换到「Visual Assets」标签,按照提示设置不同场景的图标,系统会自动适配
几个避坑小Tips
  • 图片文件名一定要全小写、无特殊字符,Android对这个要求特别严,写错了就会不显示
  • 如果是把图片放在共享项目里,要设置生成操作为EmbeddedResource,然后用ImageSource.FromResource("你的项目命名空间.文件夹名.图片名.png")引用,不过这种方式不如平台资源文件夹常用
  • 遇到图片不显示的情况,先清理项目再重新编译,大概率是缓存问题

内容的提问来源于stack exchange,提问作者user8834153

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:54:05