2015-08-17 8 views
-1

У меня возникают проблемы с настройкой моего пользовательского декодера в методе setDecoder() библиотеки TroidView для Android. На экране ничего не отображается. Я получаю изображение svg и преобразовываю его в растровое изображение, используя sroid-версию sroid. PFB код О создании метода в основном классеИзображение не отображается в imageView (TileView)

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

ответ

0

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

Существует пример того, как это сделать на домашней странице AndroidSVG.

+0

Я использую библиотеку TileView и используя tileView.setTileDecoder (новый BitmapDecoderAssetsCustom (this)); метод отображения изображения.PFB ссылка http://moagrius.github.io/TileView/index.html?com/qozix/tileview/TileView.html – DSM