LazyColumn моего приложения не кажется таким «легким» или «свободным», как другие приложения для Android.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 LazyColumn моего приложения не кажется таким «легким» или «свободным», как другие приложения для Android.

Сообщение Anonymous »

Я новичок в разработке для Android с использованием Kotlin и Jetpack Compose, и у меня нет опыта работы с XML и представлениями.
Я перешел с Flutter на Kotlin из-за неуклюжей прокрутки в ListView Flutter, затем попробовал LazyColumn на Kotlin, и это было больше похоже на настоящее приложение для Android, хотя другие приложения для Android кажутся более неуклюжими или легкими при прокрутке, они прокручиваются дальше с меньшим количеством пролистывания, такие приложения, как WhatsApp, Discord, Chatgpt или Gemini — примеры этого.
В чем причина того, что они используют RecyclerView вместо LazyColumn? И если да, то есть ли способ заставить мой LazyColumn вести себя так же?
РЕДАКТИРОВАТЬ: LazyColumn не кажется тормозящим или неестественно медленным, я просто заметил тонкую разницу (для меня это не так) между ним и другими приложениями, упомянутыми выше. Я просто хочу знать, является ли причина в том, что они, вероятно, используют «Recycler View», или они настроили LazyColumn, чтобы он создавал ощущение «еще более плавного».
Версия Jetpack Compose: 2024.09.00
Column {
LazyColumn(
modifier = Modifier
.background(Color(0xFFE91E63))
.weight(1f)
) {
items(100) { i ->
Box(
modifier = Modifier
.fillMaxWidth()
) {
Text(
"This is a sent message $i",
color = Color.Black,
modifier = Modifier
.align(Alignment.CenterEnd)
.padding(4.dp)
.border(
shape = RoundedCornerShape(8.dp),
width = 1.dp,
color = Color.Black
)
.background(
Color.LightGray,
shape = RoundedCornerShape(8.dp)
)
.padding(8.dp)
)
}
Box(
modifier = Modifier
.fillMaxWidth()
) {
Text(
text = "This is a received message $i",
color = Color.White,
modifier = Modifier
.align(Alignment.CenterStart)
.padding(4.dp)
.border(
shape = RoundedCornerShape(8.dp),
width = 1.dp,
color = Color.LightGray
)
.background(
Color.Black,
shape = RoundedCornerShape(8.dp),
)
.padding(8.dp)
)
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... android-ap
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»