-1

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;
        }
    }
4

1 に答える 1