图像未显示在imageView(TileView)中

时间:2015-08-17 04:44:59

标签: android svg android-imageview decoder androidsvg

我在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;
        }
    }

1 个答案:

答案 0 :(得分:0)

您正在解析SVG,并且您正在创建位图。但是你决不会将SVG渲染到位图中。

有一个如何在AndroidSVG主页上执行此操作的示例。