首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin.Forms和Snap.svg

Xamarin.Forms和Snap.svg
EN

Stack Overflow用户
提问于 2016-05-30 06:32:26
回答 1查看 697关注 0票数 1

我将尝试以xamarin形式呈现一些svg。

但是现有的svg是用snap.svg编写的。

给它一个好的,为什么呈现这样的svg的xamarin形式?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-05-30 08:15:45

Snap用于在网络中动画svgs。您不能在xamarin中使用svg的快照动画,因为它们是javascript动画。如果您只需要svg,而不需要动画,则可以导出内部svg (查看这里),然后使用TwinTechs.SvgImage库在xamarin.forms应用程序中呈现跨平台svgs。

编辑1:您可以将svg加载到WebView中。我创建了一个示例项目,您可以找到这里

我使用了XLabs的HybridWebView 控制。它允许将html加载到web视图中。其余的都很简单。您需要将HTML文件夹添加到iOS和Android (根项目目录和资产目录)。对于iOS,您需要手动复制HybridWebView目录,如HybridWebView文档中所述

代码语言:javascript
复制
HybridWebViewRenderer.CopyBundleDirectory("HTML");

然后在xaml页面中声明web视图。

代码语言:javascript
复制
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:controls="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms"
             x:Class="SvgSample.Views.SvgPage"
             BackgroundColor="White">
  <controls:HybridWebView
    x:Name="webView"
    VerticalOptions="FillAndExpand"
    HorizontalOptions="FillAndExpand" />
</ContentPage>

在xaml.cs文件中,您需要将OnAppearing加载到OnAppearing方法中的web视图中(这很重要,否则它将无法工作,请再次查看HybridWebView文档)

代码语言:javascript
复制
protected override void OnAppearing()
        {
            base.OnAppearing();
            webView.LoadFromContent("HTML/guage.html");
        }

我已经测试过iOS和安卓系统了,而且成功了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37519031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档