我有一个Xamarin Forms(2.0)Android应用程序,其中我'm trying to show an image. I'有一个名为 icon-pages-r1.png
的图标,我试图使用以下代码显示:
<Image Source="icon-pages-r1.png" />
但是图像没有显示 . 当我将源更改为 Icon.png
(默认的Xamarin图标)时,它确实有效 .
图像是半透明的PNG(因此中间是彩色图标,周围是透明的),它也可以工作 . 图像的 Build Action
为 AndroidResource
, Copy to Output Directory
设置为 Do not copy
.
有谁知道为什么我不能在我的应用程序中显示此图像?
5 回答
您不能在Xamarin Android的图像名称中使用连字符 . 摆脱连字符(在文件名和图像引用中),你将被设置 .
对于其他可能会在这里结束的人......
确保图像文件实际上是项目的一部分(Resources \ drawable),并且构建操作是AndroidResource .
当绑定到android中的图像资源的名称时,我发现它必须是:
在Resources / Drawable文件夹中
set Build Action:AndroidResource
设置复制到输出:不复制
不允许名称中的连字符
名称区分大小写
对于iOS
Step 1: 将您的图片添加到ios - > Resources文件夹(如果没有创建它)
Step 2; 右键单击图像 - >属性 - >构建操作 - >设置为"Content"
我有这个问题 . 我将
MSBuild project build output verbosity
设为Diagnostic
. 现在,当我搜索 OOM 时,我在“输出”窗口中找到了以下内容 .现在试过了
png
图像,其大小小于 200KB 且小于 1400 X 1050 (用于测试目的) .它工作正常 .
注意:“MSBuild项目构建输出详细程度”可在工具 - >选项 - >项目和解决方案 - >构建和运行下找到
General Checkpoints
阅读Local Images
确保文件名仅包含小写字母 .
将该png文件添加到Resources / drawable文件夹中 .
创建内容页面如下
清洁解决方案 .
清理
bin
和Obj
个文件 .Resources说:
Compress PNG and JPEG files说:
References :
Android : Maximum allowed width & height of bitmap
Android:java.lang.OutOfMemoryError: Failed to allocate a 23970828 byte allocation with 2097152 free bytes and 2MB until OOM
Handling Bitmaps