我正在开发一个自定义视图,我需要在里面绘制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),但我不知道如何使用此定义来定位具有相对位置的位图。
答案 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?