我有一系列專案,我想在 Track 中顯示為專案串列。唯一的問題是,一開始,專案必須從軌道中間開始排列。之后,專案可以正常滾動。
例如在開頭:
MyTrack : [----blankSpace 50%--------[dynamic item1[[dynamic item2][dynamic item3]--]
當所有專案都可見時滾動后,例如: MyTrack[[item1][item2][item3][item4][item5]]
此行必須是可滾動的,并且每個專案都可以具有不同的寬度。
這是軌道上的專案:
data class MyItem(val widthFactor: Long, val color: Color)
問:有嗎。一種給出 LazyRow 中專案起始位置的方法?或者我應該在 Jetpack Compose 中使用更好的布局嗎?像 LazyRow() 這樣的布局將不起作用,因為沒有辦法告訴從它的中間開始排列專案。
我可以在其中使用 Canvas 和 drawRect 之類的專案,但隨后我需要實作 LazyRow 中的滑動和滾動功能。
提前致謝。
uj5u.com熱心網友回復:
您可以使用.fillParentMaxWidth可用于 LazyList 專案的間隔專案:
LazyRow(
modifier = Modifier.fillMaxWidth(),
) {
item {
Spacer(modifier = Modifier.fillParentMaxWidth(0.5f))
}
// Your other items
}
這比提供的其他兩個解決方案要好 -Configuration.screenWidthDp僅當您的 LazyRow 填充整個螢屏寬度時才可用,但情況并非總是如此,BoxWithConstraints增加了此處不必要的復雜性。
uj5u.com熱心網友回復:
使用它來獲取螢屏寬度
val configuration = LocalConfiguration.current
val screenWidth = configuration.screenWidthDp.dp
來源- 
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/497278.html
標籤:安卓 安卓布局 android-jetpack-compose
上一篇:無法使用www.google.comNET::ERR_CERT_COMMON_NAME_INVALIDSSL證書無效
