Row с серым фоном, внутри два теста, у которых рисуется фон(белый прямоугольник) взависимости от какой-то переменной означающей текущий выбор, ну и конечно же кликабл, который будет либо изменять значение переменной, либо оставлять его без изменений.
Тут белый прямоугольник скорее не фон, а подложка
Ну это уже детали))
Возможно он захочет анимировать и тогда этот прямоугольник вообще уйдет на уровень выше
На уровень выше он будет перекрывать текст)
А как это анимировать?
В google codelabs есть урок по анимациям, там очень похожий случай разбирается
Я бы недолго думая сделал через что-нибудь низкоуровневое типа *asState, но думаю есть и что-то удобное высокоуровневое, может быть AnimatedContent
Первое, что приходит в голову val horizontalBias by animateFloatAsState(targetValue = if (selectedGender == Gender.MALE) -1f else 1f) Surface(modifier = Modifier.align(BiasAlignment(horizontalBias, 0f)))
https://abhimanyu14.medium.com/custom-tabs-using-jetpack-compose-e6ff16f961ea
Можно вытащить Pager из accompanist и заменить подчеркивание на подложку. Будет и с анимацией, и свайпом(вроде)
Surface { Row { Surface { Text(…) } Surface { Text(…) } } }
Взять свитч и переписать его немного) я так и делал
Что то много у вас Surface
Surface'ами контрол не испортишь😂 Шутка
Обсуждают сегодня