2011-04-20 48 views
0
Hi 

如何从OnDraw()方法绘制ImageView? canvas。()不必调用资源?OnDraw上的Android Draw ImageViiew

我试图做到这一点

@Override  
    protected void onDraw(Canvas canvas) {   
      super.onDraw(canvas);   
     imageBack = BitmapFactory.decodeResource(getResources(), R.drawable.background);    

    canvas.drawBitmap(imageBack, (x /2)-15 ,y /2, null);   
    //touchEvents();   
    ImageView image1 = (ImageView)findViewById(R.id.ImageView01); 
    } 

回答

0

您需要将您的ImageView转换为位图

ImageView image1 = (ImageView)findViewById(R.id.ImageView01); 
    image1.buildDrawingCache(); 
    Bitmap bmap = image1.getDrawingCache(); 

然后,您可以借鉴BMAP

+0

我上线image1的一个错误。 buldDrawCache();一个空指针异常::( – user710502 2011-04-20 05:30:42

+0

然后R.id.ImageView01不是您当前视图中的可引用对象...您需要通过view.addView()添加它或从xml中将其添加,然后从您的膨胀视图 – Joe 2011-04-20 05:38:32

+0

Omg膨胀对我来说是新的...,我会在哪里添加该行代码view.addView();在ondraw中? – user710502 2011-04-20 05:44:09