我正在使用https://code.google.com/p/svg-android/wiki/Tutorial库示例中所述的标准代码,这是我的OnCreate方法:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
ImageView imageView = (ImageView)findViewById(R.id.imageViewTest);
// Set the background color to white
imageView.setBackgroundColor(Color.GRAY);
// Parse the SVG file from the resource
SVG svg = SVGParser.getSVGFromResource(getResources(), R.drawable.android);
//Get a drawable from the parsed SVG and set it as the drawable for the ImageView
imageView.setImageDrawable(svg.createPictureDrawable());
}
我无法在此处添加布局代码,因此请在此文档中分享:https://docs.google.com/document/d/1fbi3B_hAYUh_C2IwPfInvZ-BG2bgsa4pZoJKj8NBT9o/edit?usp=sharing
它不会出现任何错误,但也不会显示图像。
我之前怀疑图像是不正确的,然后我在同一个例子中使用了那个。
然而,它没有显示图像,也没有出现任何错误。
请建议如何进一步调试。
答案 0 :(得分:0)
Android上SVG的最佳做法是使用工具将您的SVG转换为您感兴趣的大小的PNG。现有的Android支持SVG并不全面。 39;很可能在SVG文件中找到,即使它是,但是操作系统没有内置支持,因此直接使用它们是不合时宜的。
如果您正在使用的库可以处理您已经很好的SVG,那么您可以使其适用于每个图标,但不能通过标准Android API;您需要创建自定义视图。大约几个月前,我使用了你链接的库,当时它在我在Inkscape中创建或从各个地方下载的许多SVG都遇到了麻烦。也许从那时起它的支持有所改进,但我建议你在为它编写大量自定义代码之前使用你计划使用的精确SVG进行测试。
答案 1 :(得分:0)
您的问题几乎可以肯定是硬件加速。您可能需要将View LayerType设置为软件模式。
请参阅Having issue on Real Device using vector image in android. SVG-android
如果这不能解决问题,那么它可能是svg-android的一个问题,除了简单的SVG之外,它可能无法正确渲染任何东西。你的我的图书馆AndroidSVG可能会更好运。