2017-05-31 56 views
0

我想插入一个SVG图片在我的应用程序,所以我在YouTube中寻找ANS我按照这个教程:如何把svg文件放到你的应用程序中?

https://www.youtube.com/watch?v=S65WtImJOvI

I,通过原料的名称创建一个目录,我下载SVG-机器人。 jar和我在我的MainActivity.java中添加了以下几行:

 ImageView imageView = new ImageView(this); 
     imageView.setBackgroundColor(Color.WHITE); 
     SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android); 
     imageView.setImageDrawable(svg.createPictureDrawable()); 
     setContentView(imageView); 

svg图片是android.svg。但是当我试图编译并使用模拟器执行时,它会崩溃!该应用程序无法打开!

那么,我可能需要在activity_main.xml中做些什么吗?

您对此有何看法?

非常感谢!

+0

你能够粘贴日志吗? – SimplyJaymin

+0

你只是想像'ImageViews'一样显示svg图像吗? – aborocz

+0

在stackoverflow上发布问题时,总是问自己:“我提供了足够的信息,以便有人能够弄清楚什么是错的?”在这种情况下,答案将是“否。也许我应该至少发布堆栈跟踪” – Dbl

回答

0

更简单的方法是将SVG转换为XML矢量图像(例如使用this website)。 然后你可以像使用标准资源一样使用它。 例如,在您的xml布局中,在ImageView上,您必须使用app:srcCompat而不是android:src

您可能还需要在您的gradle文件中添加vectorDrawables.useSupportLibrary = true

+0

请注意** ** SVG!= VectorDrawable **。后者来源于前者,但仅代表**的有限子集**。 –

+0

@Rotwang你似乎已经在2年前给出了同样的答案(https://stackoverflow.com/q/31926212/1827254),你可以请开发或共享一个链接,因为我有兴趣知道更多关于这个? – Eselfar

+0

这不是,它不是一个答案。只是一个评论(仍然有效)。 Commonsware回答。你可以谷歌的svg文件格式,看看VectorDrawables有多复杂。 –

0

简单,

添加像这样,和内部使用的ImageView

app:srcCompat="@drawable/ic_person_outline_black_24dp"

enter image description here enter image description here

相关问题