Описание тега compose-recomposition

1 ответ

LazyRow внутри вызова LazyColumn перекомпоновывается каждый раз

Привет, у меня есть объект со списком других объектов. Мне нужно показать список первого, а внутри каждого объекта показать горизонтальный список с другими объектами. У меня эти объекты хранятся в локальной базе данных по комнатам. Эти объекты связа…
0 ответов

Пересылка состояния в лямбда вызывает рекомпозицию, даже если состояние не меняется

Если , Yотносятся к типу MutableState<String>, в следующем фрагменте, и перекомпоновываются каждый раз при изменении состояния. Случай 1 @Composable fun ComposableA( val stateX: State<String>, // X val stateYProvider: () -> State<S…
1 ответ

Jetpack Compose: принудительная перекомпоновка при изменении состояния из-за другого действия

У меня есть два действия: и . Оба они используют Jetpack Compose для отображения пользовательского интерфейса. В первом элемент (скажем,Text) должен быть показан с переменнойshowtTextявляетсяtrueи скрыто, если оно ложно. Я достигаю этого, используя:…
0 ответов

Проблема с производительностью Jetpack Compose LazyColumn

Я пишу пример экрана с помощью lazyColumn. Я столкнулся с некоторыми проблемами производительности при выпуске сборки. Пропуск кадров происходит, когда я быстро прокручиваю список. Все модели и составные части стабильны. Мой код ниже; Ссылка на запи…
1 ответ

Подъем состояния в одиночном выборе LazyColumn. Реактивный ранец

У меня есть LazyColumn с расширяемыми элементами. И когда я нажимаю на элемент, он расширяется или сворачивается, но мне нужно, чтобы, когда я нажимаю на закрытый элемент, он открывался, а другие в списке закрывались (тот, который открывается). Итак…
1 ответ

Почему изображение не отображается в Android Studio, когда целочисленная переменная, содержащая рисуемый объект, передается функции painterResource?

У меня есть требование отображать разные изображения на основе определенных взаимодействий с пользователем. Итак, я сохраняю идентификатор ресурса для рисования в целочисленной переменной. Однако, когда я передаю эту переменную в функцию painterReso…
3 ответа

Я не могу раскрасить один текст из моего списка при нажатии Jetpack Compose (одиночное выделение)

У меня есть строковый список текстов, когда я нажимаю на один из них, я должен окрашивать его в один цвет, в настоящее время моя реализация окрашивает все тексты, что я делаю неправильно? var isPressed by remember { mutableStateOf(false) } val butto…
1 ответ

Составная видимость не меняется при изменении состояния

У меня есть состояние, и я пытаюсь показатьCircularProgressIndicatorкогда значениеtrue. @Composable fun ProductDetailScreen( viewModel: ProductDetailViewModel = hiltViewModel() ) { val productState = viewModel.productState.value LazyColumn{ item { i…
1 ответ

В сочинении, зачем изменять свойства элемента List, LazyColumn не обновляется

Когда я изменяю свойства объектов в списке, пользовательский интерфейс не обновляется мой код: @OptIn(ExperimentalFoundationApi::class) @Composable fun ContactCard( ) { var stateList = remember { mutableStateListOf<ListViewData>() } viewModel!…
0 ответов

NavHost, предотвращающий обновления пользовательского интерфейса

Я использую Retrofit в своем проекте для выполнения запросов к API Google Книг, и если я держу его вне NavHost, он работает нормально; поиск книги возвращает список книг, который отображается в пользовательском интерфейсе. Однако, когда я помещаю то…
1 ответ

Избегайте перекомпоновки других элементов при изменении значения TextField

У меня есть основной экран входа в приложение, который выглядит так: LoginScreen.kt: @Composable fun LoginScreen(navController: NavController, viewModel: LoginViewModel) { val userEmail = viewModel.userEmail.collectAsState() val userPassword = viewM…
1 ответ

Jetpack Compose Navigation бесконечно загружает экран

я пытаюсь реализоватьNavigationиспользуя одно действие и несколькоComposableЭкраны. Это моеNavHost: @Composable @ExperimentalFoundationApi fun MyNavHost( modifier: Modifier = Modifier, navController: NavHostController = rememberNavController(), star…
2 ответа

Можно ли изменить размер компонуемого изображения без запуска рекомпозиции

у меня естьanimateDpAsState(..), всякий раз, когда эта анимация запускается, она изменяетModifier.size(value)изImage(...)тем самым вызывая рекомпозицию. Есть ли способ пропустить фазу композиции для этого конкретного сценария? Разрешить изображению …
2 ответа

Непрерывная рекомпозиция в Jetpack Compose

Я пытаюсь создать вид неба в своем приложении для Android, используя Jetpack Compose. Я хочу отобразить его внутриCardс фиксированнымheight. Ночью фон карты становится темно-синим, и я бы хотел, чтобы по небу были разбросаны мигающие звезды. Чтобы с…
1 ответ

отрегулируйте высоту содержимого с помощью нижнего листа в эшафоте нижних листов

Я хочу динамически изменять высоту содержимого относительно нижнего листа в нижнем листе следующим образом: Это то, что я пробовал до сих пор: ` val bottomSheetState = rememberBottomSheetState(initialValue =BottomSheetValue.Expanded ) val bottomShee…
2 ответа

Jetpack составляет список mutableStateOf, который не вызывает повторную композицию при изменении значения свойства в классе элементов списка.

Я думаю, что здесь мне не хватает основной концепции Jetpack Compose. У меня возникла проблема, когда я пытаюсь изменитьnon-constructor data class propertyвнутри компонуемого, когда этот компонуемый является частью наблюдаемого списка. Не работает: …
1 ответ

Animatable.animateTo запускается каждый раз в Canvas Compose

Я использовал Animatable.animateTo для анимации, как показано ниже: val percentageAnimate = remember { Animatable(0.001f) } LaunchedEffect(Unit) { percentageAnimate.animateTo(percentage) } с процентомAnimate.value я буду рисовать свою круговую диагр…
0 ответов

Экран не перекомпоновывается при изменении значения состояния — Jetpack Compose

Это экран видеовызова. Для работы ему нужен токен и имя канала, которые необходимо передать механизму вызова инициализации. Я храню их в классе данных, который используется как изменяемое состояние. Класс данных состояния экрана @Keep data class Cal…
0 ответов

Динамический ввод текста не запускает рекомпозицию

Я пытаюсь создать пользовательскую форму, используя компоновку реактивного ранца. Что я сделал до сих пор на экране: @Composable fun FormContent( viewModel: FormViewModel, customFieldList: List<String>, valuesCustomFieldsList: List<String&g…
3 ответа

Анимировать видимость в композиции

У меня есть текст, который нужно анимировать, чтобы показать и скрыть значение null или нет. было бы прямолинейно, если бы обзорность отдельно регулировалась, но это то, что у меня получилось. В приведенном ниже коде анимация ввода работает, но аним…