onDraw()被调用但没有显示

时间:2011-10-21 06:34:33

标签: android ondraw

我需要在屏幕上,在背景图像上绘制一些矩形。为此,我创建了这个类:

public class MyImageView extends ImageView {

    public MyImageView(Context context) {
        super(context);
    }

    public MyImageView(Context context, AttributeSet attrs) {
        super(context,attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        System.out.println("draw");
         Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
         canvas.drawColor(Color.BLACK);
         canvas.drawBitmap(background, 0, 0, null);
    }

}

并在我放置的活动的xml文件中:

<com.www.MyImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_marginLeft="150dip"
        android:layout_marginTop="50dip">

logCat我从onDraw()方法收到消息但没有显示任何内容。我的问题在哪里?我错过了什么?

1 个答案:

答案 0 :(得分:0)

试试canvas.drawBitmap(background, 0, 0, new Paint());