Масштабирование рисования холста по размеру экрана - PullRequest
1 голос
/ 22 марта 2019

У меня есть пользовательский вид (в основном рисование графика). Я хочу, чтобы он соответствовал макету по ширине и высоте. Например, вот что у меня сейчас (без масштабирования):

enter image description here

Хотя я хочу, чтобы левая сторона экрана соответствовала xMin (возможно, плюс смещение), а правая сторона экрана соответствовала xMax (несмотря на то, насколько маленький или большой график). То же самое для высоты. Визуально я пытаюсь добиться следующего результата (игнорирую фиолетовый прямоугольник):
enter image description here

Вот что я пробовал:

@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);
}

С этим масштабированием я получил следующее:

enter image description here

Я понятия не имею, как масштабировать, чтобы соответствовать экрану

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...