Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any decent way/plugin to show SVG images?

Tags:

nativescript

Long ago I searched on Internet for a SVG image plugin and found that one, which is almost broken, outdated and thus unusable. Is there any other plugin that I might miss that allows to show SVG images and works fine with recent Nativescript version?

like image 764
terreb Avatar asked Nov 30 '25 16:11

terreb


2 Answers

For anyone still struggling with this, there is another route you could take. What ended up doing was converting my svg files into a font file (.tff). My svg files were simple, so I'm not sure if this will work for every case, but at least it works for using icons. It's really easy to convert svg files to a .ttf file. I used this online tool converter, then I added the file into my nativescript app/fonts folder. Now I can use a label like this to display the svg files:

<label
  style="font-family: yourFontFileName;"
  text="A" //This will show the icon mapping to the letter 'A'
></label>

It's also worth noting that since it's a font, you can change stroke color, and size.

Note: Android uses the file name as the font name, while IOS has its own font name. To find the font name you can just open your .ttf file, and it should open a window showing the letters (icons) and the font name as the title

like image 171
Felipe Centeno Avatar answered Dec 02 '25 05:12

Felipe Centeno


There is an updated fork from teammaestro

<Page xmlns="http://schemas.nativescript.org/tns.xsd"
      xmlns:svg="@teammaestro/nativescript-svg" loaded="pageLoaded">
  <StackLayout>
    <svg:SVGImage src="~/image/nativescript.svg" height="100" />
    <svg:SVGImage src="https://media4.giphy.com/media/3uyIgVxP1qAjS/200.svg" height="200" />
    <svg:SVGImage src="res://somesvg" height="200" />
  </StackLayout>
</Page>
like image 20
Osei Fortune Avatar answered Dec 02 '25 06:12

Osei Fortune



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!