Изображение не отображается в imageView (TileView)

У меня проблемы с настройкой моего пользовательского декодера в методе setDecoder() библиотеки Android TileView. На экране ничего не отображается. У меня есть изображение SVG и преобразование его в растровое изображение с помощью библиотеки Android Android. Пожалуйста, помогите. 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;
        }
    }

1 ответ

Вы анализируете SVG и создаете растровое изображение. Но ни в коем случае вы не переводите SVG в растровое изображение.

Пример того, как это сделать, есть на домашней странице AndroidSVG.

Другие вопросы по тегам