StartAndroid
11.1K subscribers
349 photos
9 videos
4 files
1.67K links
Канал об Android (Андроид) разработке

Сайт - http://startandroid.ru

Чат - https://tttttt.me/startandroidchat

Контакты - https://startandroid.ru/ru/about/cntct5.html

Реклама - https://startandroid.ru/ru/about/reklama.html
Download Telegram
Новый Compose урок, в продолжение темы Custom Layout.

Создаем Custom Layout в виде Timeline и разбираемся, как родитель может получить данные от дочерних элементов с помощью Parent Data.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок, про рисование

Не будем разбирать подробно, как рисовать круги и линии, с этим все просто. Основная тема урока - трансформации. Там можно немного запутаться и получить результат не такой, как ожидалось.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок, снова про рисование

Рассматриваем, чем друг от друга отличаются Modifier операторы: drawBehind, drawWithContent, drawWithCache и graphicsLayer

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок открывает серию уроков по анимации

Чтобы лучше понимать тему, мы будем разбирать ее с нижнего уровня.

Обсудим, как в целом работает анимация; как она вычисляет значение в каждый момент времени; зачем нужны векторы и конвертеры.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по анимации

Поднимаемся на уровень выше - к классу Animatable. Чтобы лучше понимать его работу, сделаем свою простую реализацию этого класса. Заодно узнаем, как под капотом новая анимация отменяет текущую.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по анимации

Рассматриваем доступные нам AnimationSpec: tween, spring, keyframes, repeatable. Там в целом и так все понятно, но пропустить эту тему я не мог.

Плюс, довольно подробно разбираем, что такое Easing в tween. И создаем свою несложную реализацию этого механизма.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок по анимации

Мы добрались до верхне-уровневых инструментов. Начнем с функции AnimateValueAsState. Как ее использовать, что под капотом, и в чем плюсы-минусы по сравнению с Animatable.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по анимации

Рассматриваем инструмент Transition, который можно использовать для запуска нескольких анимаций, зависящих от одного значения.

На видео выше - это текст, ширина и цвет.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по анимации

Рассматриваем оставшиеся инструменты: AnimatedVisibility, AnimatedContent, Crossfade, animate, animateContentSize

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
В документацию по Compose добавили отдельную статью про работу с Jetpack библиотекой graphics-shapes.
Эта либа умеет рисовать различные фигуры. Ее можно использовать не только с Compose, но и с View.

https://medium.com/androiddevelopers/fun-with-shapes-in-compose-8814c439e1a0

#android #graphics #compose #drawing
Сравнение различных фрагментов кода в iOS и Android:
- Language
- UI Components
- Local Storage
- Network/HTTP Request
- Navigation
- Database/Offline Storage
- The IDE
- Community Support
- Learning Curve

https://blog.kotlin-academy.com/swiftui-v-s-jetpack-compose-0c4d778c26d5

#android #kotlin #compose #ios
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок, новая тема - Input.

Начнем с базовых вещей. Используем Modifier pointerInput для получения PointerEvent. Разбираемся, какая информация о касаниях нам доступна. Используем calculate методы для расчета Zoom и вращения.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Сводка последних новостей от JetBrains:

Product News
- Compose Multiplatform 1.6.0 – resources, UI testing, iOS accessibility, and preview annotation
- Amper update – February 2024
- The Ktor roadmap for 2024

Survey
- Configuration Language Survey – help shape the future of build configurations

Google Summer of Code
- Become a Kotlin Google Summer of Code contributor and make an impact!

Advent of Code in Kotlin
- Celebrating our participants and their solutions

Livestream Recordings
- Strategies for successful conference talks
- Data analytics with Kotlin notebooks

Education
- Learn to refactor using your IDE for better Kotlin code

#android #kotlin #jetbrains #compose

https://blog.jetbrains.com/kotlin/2024/03/kotlin-roundup-feb-march-24/
Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI/UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

#android #design #ux #compose

https://habr.com/ru/articles/798473/
Новый Compose урок по теме - Input.

Используем функцию awaitPointerEvent для отслеживания простых событий типа click, swipe и long press.

Рассматриваем прочие await* функции: awaitFirstDown, awaitLongPressOrCancellation, awaitDragOrCancellation, waitForUpOrCancellation, awaitEachGesture.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок по теме - Input.

Разбираемся что такое Consumed статус. Используем его в своем обработчике кликов с прошлых уроков. Это позволит корректно ловить клики, когда один Box находится над другим.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

Разбираемся, как событие проходит через компоненты 3 раза, и как это можно использовать.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

Разбираемся, как под капотом работают Indication и InteractionSource.

Создаем различные кастомные визуальные индикации клика, в том числе и свой разноцветный Ripple.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html