我将尝试以xamarin形式呈现一些svg。
但是现有的svg是用snap.svg编写的。
给它一个好的,为什么呈现这样的svg的xamarin形式?
谢谢。
发布于 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文档中所述
HybridWebViewRenderer.CopyBundleDirectory("HTML");然后在xaml页面中声明web视图。
<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文档)
protected override void OnAppearing()
{
base.OnAppearing();
webView.LoadFromContent("HTML/guage.html");
}我已经测试过iOS和安卓系统了,而且成功了。
https://stackoverflow.com/questions/37519031
复制相似问题