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