StartAndroid
11.1K subscribers
350 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 урок

С помощью LayoutModifier разбираемся, как взаимодействуют между собой родительские и дочерние UI элементы во время Layout фазы.

Это даст нам представление о том, как работают Modifier операторы, которые влияют на размер UI элемента и на то, как он будет расположен - width, padding, offset и т.п.

А также поможет лучше понять следующую тему - Custom Layout, т.к. у них общий принцип работы.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок продолжает тему LayoutModifier.

Создаем простые аналоги Modifier операторов width, padding и offset. А также разбираемся, как работает последовательность LayoutModifier операторов.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок - про Custom Layout.

Создаем свою простую версию Column. И разбираем некоторые нюансы с Constraints.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый 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
Курс от JetBrains по рефакторингу кода в IntelliJ IDEA

- Introduction
- RefactoringAndItsPurpose
- CodeStyleAndFormatting
- RenamingCode
- MovingCode
- ExtractingCode
- InliningCode
- RefactoringToDesignPatterns
- Conclusion

#course #androidstudio #kotlin

https://blog.jetbrains.com/education/2024/01/17/learn-ide-code-refactoring/
Тинькофф запустил бесплатный курс по Android разработке.

Курс стартует в середине февраля и длится 3 месяца. Формат - онлайн-занятия 1-2 раза в неделю по будням.

#android #course

https://fintech.tinkoff.ru/study/fintech/android/
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
Новый 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
Подборка курсов для изучения Kotlin:

Introduction to Kotlin
Kotlin Onboarding
Kotlin Koans
AtomicKotlin
Kotlin Core
Coroutines and Channels
Introduction to IDE Code Refactoring in Kotlin
Algorithmic Challenges in Kotlin
Kotlin Developer
Introduction to Ktor
Kotlin Backend Developer (Spring Boot)
Introduction to Android With Kotlin
Android Developer With Kotlin

#kotlin #course

https://blog.jetbrains.com/education/2024/04/04/kotlin-learning-guide/
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