我在 TileView android 库的 setDecoder() 方法中设置自定义解码器时遇到问题。屏幕上什么也没有显示。我有一个 svg 图像并使用 android svg 库将其转换为位图。请帮助。PFB代码在主类中创建方法
@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;
}
}