首页 > 解决方案 > 将画布绘图缩放到屏幕大小

问题描述

我有自定义视图(基本上是绘制折线图)。我希望它适合宽度和高度的布局。例如,这就是我现在拥有的(没有缩放):

在此处输入图像描述

虽然我希望屏幕左侧与 xMin 相对应(可能加上偏移量),而屏幕右侧与 xMax 相对应(尽管图表有多大或多小)。高度也是如此。在视觉上,我正在尝试实现以下结果(忽略紫色矩形):
在此处输入图像描述

这是我尝试过的:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    // make left bottom (0,0)
    canvas.translate(0, canvas.getHeight());
    canvas.scale(canvas.getWidth()/(getMaxX()-getMinX()), 
               -canvas.getHeight()/(getMaxY()-getMinY()));

    canvas.drawLines(values, paint);
}

通过这种缩放,我得到了以下结果:

在此处输入图像描述

我不知道如何缩放以适应屏幕

标签: androidcanvas

解决方案


推荐阅读