Как нарисовать холст в отношении ориентации телефона (пейзаж, портрет)?
-
29-09-2019 - |
Вопрос
Нет проблем с портретным режимом, но когда я пробую свое приложение в режиме ландшафта, он не смотрит, как это должно быть. Что является общим подходом, чтобы решить эту проблему. Моя первая идея заменяет места x и y. Если я справа Отслеживание, как мне это сделать? Должен ли я использовать оператор IF в начале функции OnDraw () и написать весь тот же код дважды (один для X, Y и другой для Y, x)?
Решение
Там не должно быть не нужно для того, чтобы выкупить координаты X и Y на вашем рисунке. По умолчанию, когда приложения повернуты, а также системы координат.
Другие советы
Похоже, вы указываете абсолютные ширины и высоты для ваших вызовов чертежей. Например, если вы сохранены MyWidth = 480 и myheheight = 800 раннее, и сделайте все свой рисунок таким образом, то когда устройство вращается, эти ширины и высота больше не применяются.
Я думаю, что решение для вас вот в том, чтобы слушать размер измененных обратных вызовов и сбросить свою идею по ширине и высоту соответственно. Если вы рисуете прямо в поле зрения, вы хотите переопределить View.onsizeChanged().