Я использую SurfaceView (на самом деле я настраиваю пример приложения для Android "LunarView").Я изменил метод doDraw () этого примера приложения, чтобы я мог рисовать свои собственные вещи на холсте, предоставленном в вызове.Это работает нормально, я могу нарисовать свои собственные вещи на холсте, и они прекрасно отображаются в эмуляторе.
Что бы я хотел сделать, если это возможно, это адаптировать холст к X иОриентация по шкале Y, которую естественно использует мое приложение.Например, моему приложению нужно нарисовать простой график XY, но мне нужно, чтобы ось X была «внизу» экрана, а ось Y - «вправо».(Другими словами, типичный график, но повернутый на 90 градусов по часовой стрелке.)
Я думал, что класс Matrix с его методом setRectToRect (...) был бы просто билетом для этого, но онработает на меня.Я пробовал целую кучу различных вызовов setRectToRect (...), и всякий раз, когда я вызываю его, мой холст ничего не показывает.Если я закомментирую звонки, мой холст покажет, что я ожидаю.
В классе canvas есть несколько сверхмощных методов для масштабирования и перевода, поэтому мне кажется естественным, что он также поддерживает тип замены оси, который мне нужен, но для жизни я не могуразберись, как это сделать!
Любая помощь будет отличной, спасибо, Рич