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

.NET MAUI:如何在WebView中显示外部图片

在Android模拟器的.NET MAUI WebView中显示HTML图片的方法

一、基础实现步骤

你可以直接将目标HTML字符串通过HtmlWebViewSource加载到WebView中,示例代码如下:

XAML布局代码

<WebView x:Name="MyWebView" HeightRequest="500" WidthRequest="400" />

C#后台加载代码

var htmlSource = new HtmlWebViewSource();
htmlSource.Html = @"<!DOCTYPE html><HTML>
<BODY>
<H1>.NET MAUI</H1>
<P>Welcome to Yahoo.</P>
<img src=""https://s.yimg.com/rz/p/yahoo_homepage_en-US_s_f_p_bestfit_homepage.png"" alt=""Yahoo Image"">
</BODY>
</HTML>";
MyWebView.Source = htmlSource;

二、必要的Android平台配置

针对Android模拟器环境,需要完成以下两项配置:

  1. 添加网络访问权限
    在Android项目的Platforms/Android/AndroidManifest.xml文件中,确认已添加网络权限声明:
<uses-permission android:name="android.permission.INTERNET" />

这是加载外部HTTPS图片的核心前提,Android模拟器需要该权限才能访问互联网资源。

  1. 混合内容适配(按需配置)
    如果你的HTML中包含HTTP协议的图片链接(非HTTPS),需要额外配置WebView允许加载混合内容。在Android项目的MainActivity.cs中,重写OnCreate方法添加自定义配置:
protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);
    Microsoft.Maui.Handlers.WebViewHandler.Mapper.AppendToMapping("CustomWebView", (handler, view) =>
    {
        if (handler.PlatformView is Android.Webkit.WebView webView)
        {
            webView.Settings.MixedContentMode = Android.Webkit.MixedContentHandling.AlwaysAllow;
        }
    });
}

你提供的HTML图片是HTTPS链接,此配置非必须,但后续若涉及HTTP资源可启用。

三、验证注意事项

  • 确认Android模拟器已正常连接网络(通过模拟器状态栏的网络图标判断)
  • 提前在浏览器中测试图片链接是否有效,排除资源本身不可访问的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:45:41