我在TileView android库的setDecoder()方法中设置我的自定义解码器时出现问题。屏幕上没有显示任何内容。我有一个svg图像,并使用android svg库将其转换为位图。求助。 PFB代码 关于主类中的create方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TileView tileView = new TileView(this);
tileView.setSize(600, 400);
tileView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
tileView.setTileDecoder(new BitmapDecoderAssetsCustom(this));
setContentView(tileView);
}
BitmapDecoderAssetsCustom解码器类。
public class BitmapDecoderAssetsCustom implements BitmapDecoder {
public BitmapDecoderAssetsCustom(Context c){
decode("acid1_embedcss.svg",c);
}
@Override
public Bitmap decode(String s, Context context) {
Bitmap obj=null;
try {
SVG svg = SVG.getFromAsset(context.getAssets(), "acid1_embedcss.svg");
System.out.println("document width "+svg.getDocumentWidth());
System.out.println("document height "+svg.getDocumentHeight());
obj = Bitmap.createBitmap((int)Math.ceil(svg.getDocumentWidth()),
(int) Math.ceil(svg.getDocumentHeight()),
Bitmap.Config.ARGB_8888);
}
catch (SVGParseException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return obj;
}
}
答案 0 :(得分:0)
您正在解析SVG,并且您正在创建位图。但是你决不会将SVG渲染到位图中。
有一个如何在AndroidSVG主页上执行此操作的示例。