Android Canvas APIs with Kotlin and KTX
Библиотека Android KTX значительно упрощает разработку приложений на Kotlin, предоставляя Kotlin расширения для API из Android SDK.
Одно из таких удобных расширений - расширения для Canvas API.
Давайте посмотрим на результаты работы с новым API.
Без Android KTX:
val translateCheckpoint = canvas.save()canvas.translate(200f, 300f) canvas.drawCircle(...)val rotateCheckpoint = canvas.save()canvas.rotate(45f) canvas.drawRect(...)canvas.restoreToCount(rotateCheckpoint)canvas.restoreToCount(translateCheckpoint)С Android KTX
canvas.withTranslate(200f, 300f) { drawCircle(...) withRotate(45f) { drawRect(...) }}Плюсы от использования Android KTX - более читабельный код и невозможность избежать ошибки с вызовами
save/restore().