drawBitmap没有绘制任何android

时间:2016-07-08 07:55:38

标签: android bitmap android-canvas android-bitmap

我正在开发一个自定义视图,我需要在里面绘制drawable。 那些抽签必须有他们的位置相对。

这是我的代码:

    @Override
protected void onDraw(Canvas canvas) {
    //drawBackground(canvas);

    float height = (float) getHeight();
    float width = (float) getWidth();
    canvas.save(Canvas.MATRIX_SAVE_FLAG);
    canvas.scale(width, height);
    drawFlowChart(canvas);
    drawDrawables(canvas);
    canvas.restore();
}

private void drawDrawables(Canvas canvas) {
    canvas.save(Canvas.MATRIX_SAVE_FLAG);
    Resources res = getResources();
    Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.motor);
    canvas.drawBitmap(bitmap, 0.51f, 0.35f, null);
    canvas.restore();
}

但它什么都没画。 任何的想法 ?

我尝试使用drawBitmap(位图,src,dest,paint),但我不知道如何使用此定义来定位具有相对位置的位图。

1 个答案:

答案 0 :(得分:0)

您在getHeight()中调用的getWidth()onDraw函数可以返回0,以便画布缩放,无需查看。

你可以引用两个链接来更新画布的宽度和高度来绘制:

Android getWidth() return 0 in View's onDraw Android: How to get a custom View's height and width?