Anko: внутренняя область применения, сбивающее с толку разрешение собственности

Я пишу план Android, используя Anko DSL. Когда я определяю TextView , я хотел бы сделать его центрированным, поэтому я написал следующее:

 verticalLayout { textView(R.string.txt_greeting).apply { gravity = Gravity.CENTER_HORIZONTAL // <- this should have changed the alignment textSize = 20.0f } //... } 

Но выравнивание не изменилось. В отладчике я увидел, что гравитация задана для LinearLayout которая является родителем TextView .

Изменение выражения для

 textView(R.string.txt_greeting).let { it.gravity = Gravity.CENTER_HORIZONTAL } 

а также

 textView(R.string.txt_greeting).apply { this@apply.gravity = Gravity.CENTER_HORIZONTAL } 

и даже

 textView(R.string.txt_greeting).apply { this.gravity = Gravity.CENTER_HORIZONTAL } 

решает проблему, поэтому в исходном коде подразумевается, что this определенно разрешено для this@verticalLayout .

Почему это происходит?

Не понимаю ли я что-то в лямбдах Котлин или это ошибка в Котлине или Анко?

На самом деле это была ошибка.

Соответствующая проблема отмечена как фиксированная, поэтому исправление, вероятно, появится в следующей версии.

Intereting Posts
Уведомление о запросе в Realm не срабатывает с использованием Kotlin Как создать экземпляр анонимного класса, который реализует интерфейс в Kotlin Комната, проблемы Котлина только с JellyBean Избегайте приостановления другого приложения для аудиозаписей на YouTubePlayerFragment init Обработчик аннотации Java / Kotlin: получить тип аннотированного поля / свойства Динамическое развертывание и запуск узлов в CORDA Параллельные сопрограммы Kotlin Абстрактный класс Котлина с общим параметром и методами, которые используют тип param Как обеспечить общий тип с помощью взаимодействия Kotlin Цвет фона и перетасовка изображений в режиме прокрутки в recyclerView Android с помощью группового адаптера В Android Studio, как мне изменить соглашения об именах Kotlin? Тесты для Android выполняются без lanuching эмулятора (не отображается диалоговое окно устройства) – пустой набор тестов Klaxon: Ожидалось имя, но получил LEFT_BRACE Сравнение шаблонов на кортежах в Котлине Инициализация val путем деструктуризации в Котлине