2016-12-04 51 views
1

我做了离子2 sidemenu的应用程序构建,但是SVG出现在Chrome,但SVG没有出现在Android的生成文件Android的debug.apk后:离子 - SVG不会出现

enter image description here

按照我使用的命令:

npm install -g ionic cordova ionic start myApp --v2 sidemenu ionic platform add android ionic build android

/myApp/src/pages/page1/page1.html

<ion-header> 
    <ion-navbar> 
     <button ion-button menuToggle> 
      <ion-icon name="menu"></ion-icon> 
     </button> 
     <ion-title>Page One</ion-title> 
    </ion-navbar> 
</ion-header> 
<ion-content padding> 
    <h3>Ionic Menu Starter</h3> 
    <img src="../../assets/img/myapp.svg" alt=""> 
    <p> 
     If you get lost, the 
     <a href="http://ionicframework.com/docs/v2">docs</a> will show you the way. 
    </p> 
    <button ion-button secondary menuToggle>Toggle Menu</button> 
</ion-content> 

你能帮我解决这个问题?

回答

5

也许是因为你用错了路,还记得当你建立一个应用程序,你有这样的:

enter image description here

因此该路径必须"./assets/img/myapp.svg" intread "../../assets/img/myapp.svg" ,因为在编译的应用程序,你是在根,这是因为如果要加载index.html文件中evething,而且它也能在浏览器

+2

谢谢,它工作! – rafaelcb21

+0

Just /assets/img/myapp.svg(无期限)为我工作。 – Grant

0

你可以尝试用zip工具打开您的APK,并检查是否包含APK你给图像。如果是这样,请确保您的相对路径指向图像。

好运

+0

SVG文件是基于以下path'/Android的debug.apk /资产/ WWW /资产/ IMG /'。如果我将svg文件换成png,它就可以工作。 – rafaelcb21

0

我有同样的问题,SVG备考t在构建时不会在离子2中显示。 我的解决方案是,你需要把svg文件放到正确的资产文件夹中,该文件夹的路径是“./assets/img/[file_name]”就像JoxieMedina解释了为什么,我用原始的html img标签代替离子ion-img因为ion-img在默认情况下有一些样式。如果您正在使用ion-img,那么您可能需要定义ion-img元素的宽度和/或高度以使其可见。另外,在这两种情况下,使用img或ion-img元素,我需要将“backgroun-color:transparent”并定义mime type type =“image/svg + xml”以使其工作。 希望这会帮助别人。