#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
❤42👍4
This media is not supported in your browser
VIEW IN TELEGRAM
LazyTimetable - open source Jetpack Compose библиотека для реализация lazy расписания мероприятия или в школе/универе. Работает только на Android
#compose #android #opensource
#compose #android #opensource
👍17🤔13🔥3❤2
Пример использования LazyTimetable
#compose
@Composable
fun LazyTimetable(
modifier: Modifier = Modifier,
listState: LazyTimetableState = rememberLazyTimetableState(),
horizontalSpacing: Dp = 0.dp,
contentPadding: PaddingValues = PaddingValues(),
columnWidth: Dp,
heightPerMinute: Dp,
columnHeaderHeight: Dp,
columnHeaderColor: Color,
timeColumnWidth: Dp,
timeColumnColor: Color,
baseEpochSec: Long,
timeLabel: @Composable (Long) -> Unit,
content: LazyTimetableScope.() -> Unit
)
#compose
❤6👍1🔥1
Media is too big
VIEW IN TELEGRAM
🤔50🤯12👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46🤔12❤2👍1
// Пример использования FloatingTabBar
val scrollConnection = rememberFloatingTabBarScrollConnection()
var selectedTabKey by remember { mutableStateOf("home") }
Box(modifier = Modifier.fillMaxSize()) {
LazyColumn(
modifier = Modifier
.fillMaxSize()
.nestedScroll(scrollConnection)
) {
ScrollableContent()
}
FloatingTabBar(
selectedTabKey = selectedTabKey,
scrollConnection = scrollConnection,
modifier = Modifier
.align(Alignment.BottomCenter)
.padding(horizontal = 16.dp)
) {
tab(
key = "home",
title = { Text("Home") },
icon = { Icon(Icons.Default.Home, contentDescription = null) },
onClick = { selectedTabKey = "home" }
)
tab(
key = "profile",
title = { Text("Profile") },
icon = { Icon(Icons.Default.Person, contentDescription = null) },
onClick = { selectedTabKey = "profile" }
)
standaloneTab(
key = "search",
icon = { Icon(Icons.Default.Search, contentDescription = null) },
onClick = { selectedTabKey = "search" }
)
}
}
❤5
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
Месяц назад Google анонсировала навигацию специально разработанную под Compose и которая должна решить все боли. В видео показываю её возможности, делюсь своим мнение и рассказываю про недочеты, которые надеюсь что решат до стабильного релиза
#AndroidBroadcast #navigation #jetpack #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤3🤔2
Ждем скорого стабильного релиза и можно будет разбирать
#compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
В Compose 1.9.0 появляется новое внутреннее API - PausableComposition. Оно позволит:
👉 Инкрементальная рекомпозиция: Подготовка UI, разбивая работу на части
👉 Прогрев UI: Делать подготовку UI асинхронно, до того как она кажется на экране
Обещают хорошее улучшение для LazyColumn и LazyRow
#compose #performance
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥57👍13❤5🤔1
Jetpack Compose быстрее View ?
Anonymous Poll
28%
Да
41%
Нет
13%
Одинаково
1%
Другой вариант (пиши в комментариях)
17%
Не участвую в опросе
❤5🤔4
Forwarded from Kotlin Adept Notes (Alex Panov)
Преимущества библиотеки:
#Compose #Snackbar #KMP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍15❤4🤯3
Обновляем BOM файл для тех кто не боится Beta
dependencies {
implementation(platform("androidx.compose:compose-bom-beta:2025.07.01")
}
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14
В репозитории Compose ведутся работы над тем, чтобы добавить API retain {}, которое в отличие от remember будет запоминать данные дольше (между входами и выходами в композиции, подобно как сохранение через ViewModel)
val user = retain { someData() }
@Composable
public inline fun <reified T> retain(
noinline calculation: @DisallowComposableCalls () -> T
): T
Больше подробностей в 📃 статье (EN,6м). Также доступна по 🔗 альтернативной ссылке
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯70👍15🔥5👏2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🤯13🤔7
Пример использования Scratchify
@Composable
fun BasicScratchCard() {
val controller = remember { ScratchifyController() }
Scratchify(
modifier = Modifier.size(300.dp, 200.dp),
config = ScratchifyConfig(),
controller = controller,
contentToReveal = {
Box(
modifier = Modifier
.fillMaxSize()
.background(Color(0xFFFFD700)),
contentAlignment = Alignment.Center
) {
Text("🎉 You Won! 🎉", style = MaterialTheme.typography.headlineMedium)
}
},
overlayContent = {
Box(
modifier = Modifier
.fillMaxSize()
.background(Color(0xFF8E24AA)),
contentAlignment = Alignment.Center
) {
Text("Scratch Here!", color = Color.White)
}
}
)
}
Telegram
Compose Broadcast
Пример использования Scratchify
@Composable
fun BasicScratchCard() {
val controller = remember { ScratchifyController() }
Scratchify(
modifier = Modifier.size(300.dp, 200.dp),
config = ScratchifyConfig(),
controller =…
@Composable
fun BasicScratchCard() {
val controller = remember { ScratchifyController() }
Scratchify(
modifier = Modifier.size(300.dp, 200.dp),
config = ScratchifyConfig(),
controller =…
❤15
This media is not supported in your browser
VIEW IN TELEGRAM
Причина - куча багов, которые не получалось решить, а также на Compose писать проще.
По итогу реализовали свой Layout, чтобы сделать иерархию плоской и было меньше рекомпозиций.
@Composable
fun FastPaymentButton(
fastPaymentState: FastPaymentState,
modifier: Modifier = Modifier,
thumbContent: @Composable BoxScope.() -> Unit = {},
background: @Composable () -> Unit = DefaultFastPaymentButtonBackground,
// Параметры будут добавляться по мере обогащения слайдера фичами
onClick: () -> Unit = {},
onSwiped: () -> Unit = {},
) {
// Content
}
#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥50👍11
This media is not supported in your browser
VIEW IN TELEGRAM
23 августа | Только офлайн
💡 Это новый формат встреч мобильного сообщества — без докладов, но с практикой и обменом опытом с сообществом.
🔥 Вы сможете посоревноваться в AI-хакатоне, обсудить карьерный трек с экспертами Яндекса, прокачаться на воркшопах по MCP и ускорению и приложений и принять участие в дискуссии от Городских сервисов Яндекса про метрики, тестирование и BDU. А ещё можно будет отдохнуть в зоне общения и настолок от команды Поиска и посетить кастомный бар от Яндекс 360.
🤖 Пока ждете фест — можете воспользоваться ботом для мобильных разработчиков: @ya_runtime_bot
👉 Регистрируемся на фест тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥3🤔2