Туториалы

Продолжаем серию статей, посвященных нововведениям в SwiftUI 3.0, которые будут доступны в iOS 15. Сегодня рассмотрим пример того, как можно обновлять списки свайпом сверху вниз (Pull to refresh), как реализовать меню пользовательских действий в списках, а так же рассмотрим пример реализации строки поиска в навигейшн баре. SwiftUI 3.0. Pull to refresh За обновление контента при […]

Continue Reading

Узнайте, как обновить данные в Android RecyclerView с помощью DiffUtil (и улучшить тем самым производительность), а также как добавить анимацию в RecyclerView. Android RecyclerViews, отображающий списки, являются частью почти каждого приложения Android. В списках содержится большой объем информации, поэтому важно обеспечить удобство работы как при прокрутке списка, так и при обновлении его содержимого. Для этих целей разработали […]

Continue Reading

SwiftUI 3.0. Параметр format для типа Text format — это новый параметр для инициализатора Text. Он позволяет форматировать списки, даты и числа в текстовые значения. Рассмотрим пример использования формата .list() с массивом строк: struct ContentView: View { @State private var ingredients: [String] = [] var body: some View { VStack { Text(ingredients, format: .list(type: .and)) […]

Continue Reading

Сегодня вы изучите, как использовать ключевое слово object в Kotlin для определения одиночных, сопутствующих и анонимных объектов и обеспечения взаимодействия с Java. Работая с Kotlin, вы часто пересекаетесь с ключевым словом object. Это слово имеет несколько значений в зависимости от контекста. В этой статье вы создадите приложение для покупок и изучите несколько способов использования object. […]

Continue Reading

В этом туториале мы научимся изменять параметры конфигурации кнопки при внутренних изменениях состояния (например, при выборе кнопки или ее подсвечивании) и при внешних изменениях состояния  (напр. воздействий других модулей в рамках установленной бизнес-логики). Мы увидим, как этот новый подход работает со старыми методами, таким как setTitle(_:for:). Может ли он заменить старые решения и могут ли […]

Continue Reading

Было бы здорово, если Android Studio по вводу команды или по нажатию на кнопку автоматически собирал подписанный APK за вас, загружал его в Google Play Store и обновлял вас на вашей любимой платформе? Всего этого вы можете достичь, написав специальные задачи для каждой функции. Но что, если вы хотите сделать все то же самое, но […]

Continue Reading

App Actions позволяет Google Assistant получить доступ к вашему приложению и запустить определённые действия в рамках работы приложения. Из данного урока вы узнаете, как реализовать App Actions так, чтобы пользователи смогли взаимодействовать с вашим приложением через Google Assistant. Версия Kotlin 1.4, Android 5.0, Android Studio 4.1 Что вы сделаете в первую очередь, когда очень сильно […]

Continue Reading

Релиз третьей версии SwiftUI принес нам новый декларативный подход к обработке представленных значений. Текстовые поля, формы, панели поиска позволяют пользователям вносить значения, которые возможно взять и использовать с помощью модификатора для View – onSubmit. Сегодня мы научимся использовать этот модификатор, а также посмотрим на его преимущества. Основы Создадим View, позволяющую нам искать сообщения, используя searchable […]

Continue Reading

Заметка Вам необходимо иметь установленной версию Android Studio Arctic Fox и выше для использования Jetpack Compose в вашем проекте. В этом туториале я покажу вам, как производить поиск по списку (List) непосредственно во время набора текста в текстовом поле (TextField) и отображать найденные данные в окне подробных сведений (Details Screen), т.е. речь пойдет о поиске […]

Continue Reading

Заметка У вас должна быть установлена Android Studio Arctic Fox и выше, чтобы использовать Jetpack Compose в вашем проекте. В данном туториале мы рассмотрим, как создавать вкладки (tabs) с помощью Jetpack Compose и прокручиваться между ними используя Pager из группы библиотек Accompanist. Добавление библиотек Зайдите в ваш project-level gradle.build файл и добавьте следующее расширение: buildscript […]

Continue Reading

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: