StartAndroid
10.3K subscribers
383 photos
10 videos
5 files
1.82K links
Канал об Android (Андроид) разработке

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

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

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

Реклама - https://startandroid.ru/ru/about/reklama.html

РКН - https://shorturl.at/p7iUr
Download Telegram
Новый Compose урок открывает серию уроков по анимации

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

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

#android #course #compose

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

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

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍29🔥21
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
🔥15👍4🥰21
Новый Compose урок по анимации

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

#android #course #compose

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

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

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

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍32
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
🔥30👍2
Курс от 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/
11🔥3👍1
Тинькофф запустил бесплатный курс по Android разработке.

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

#android #course

https://fintech.tinkoff.ru/study/fintech/android/
🔥402👍2👎1🤔1
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
🔥34👍12
Новый Compose урок по теме - Input.

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

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

#android #course #compose

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

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

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍17🔥12👌1
Подборка курсов для изучения 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/
👍232
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

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

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍22🖕4
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
🔥21👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

Вернее, даже два урока.

Первый - небольшой, в нем рассматриваем detect* функции: detectTapGestures, detectDragGestures и detectTransformGestures.

А во втором рассматриваем Modifier операторы: draggable, draggable2D, anchoredDraggable и transformable. А также подробно рассматриваем nestedScroll, с помощью которого можно получить эффект, как на видео.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
🔥162
Gradle запустил несколько бесплатных курсов и планирует дальше развивать это направление.

#gradle #course

https://blog.gradle.org/dpe-university-and-gradle-courses
🔥41👍43🎉1
Возвращаемся к урокам по Compose после летних каникул.

Новая важная тема - Stability. В первом уроке разбираемся, что это такое и зачем вообще нужно.

Подключим compiler metrics отчеты, чтобы видеть, какие классы компилятор считает stable/unstable, а какие функции - skippable.

Используем аннотацию Immutable, чтобы увидеть, как можно сломать Stability.

В качестве примеров пока используем примитивы и data классы.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍29🔥14👏1🖕1
Новый урок по Compose

Продолжаем тему Stability на примере более сложных типов: коллекции, state holder, лямбды

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍32💩1
Новый урок по Compose

Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍2112👎2😡1
Новый урок по Compose.

Краткий обзор основных инструментов для работы с Compose: Preview, Live Edit, Layout Inspector, Debug, Trace.

Тема простая, материала по ней много, поэтому я не стал много расписывать.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
👍21🔥95👎1