簡體   English   中英

Jetpack-Compose Column 的一個問題

[英]A trouble about Jetpack-Compose Column

它無法成功運行,並出現以下錯誤:

Cannot find a parameter with this name: crossAxisSize

我該如何解決? 這是我的代碼:

@Composable
fun NewsStory() {
    Column(
            crossAxisSize = LayoutSize.Expand,
            modifier=Spacing(16.dp)
    )
    {
        Text("demo")
        Text("try")
        Text("somethings")
    }
}

注意 - 請參閱下面的更新。

它在 FlexColumn 上可用。 在 Column 中使用它,如下所示:

 @Preview
@Composable
fun NewsStory() {
    Column( modifier=Spacing(16.dp)) {
        FlexColumn(
            crossAxisSize = LayoutSize.Expand

        )
        {
            Text("demo")
            Text("try")
            Text("somethings")
        }
    }

}

我假設這是你想要的結果?

這是結果

彈性列:

@Composable fun FlexColumn(
    modifier: Modifier = Modifier.None, 
    mainAxisAlignment: MainAxisAlignment = MainAxisAlignment.Start, 
    crossAxisAlignment: CrossAxisAlignment = CrossAxisAlignment.Start, 
    crossAxisSize: LayoutSize = LayoutSize.Wrap, 
    block: FlexChildren.() -> Unit
): Unit

鏈接在這里

編輯 - 重要提示:剛剛知道 Flex 將很快被棄用。 哦,使用 alpha 版本的樂趣(:所以正確的方法是使用Column/Row 並將 Flexible 修飾符應用於孩子。保留這篇文章而不是刪除,因為有人可能仍然會傾向於使用 FlexColumn/FlexRow,因為他們仍然正式在那里。不要!

參數crossAxisSize從可組合Column中刪除,我認為有利於使用修飾符。 如果你想讓Column擴展到全尺寸,你可以給它添加Expanded修飾符,這樣你的代碼就會變成這樣:

@Composable
fun NewsStory() {
    Column(
            modifier=Expanded.wraps(Spacing(16.dp))      <<<------ the change
    )
    {
        Text("demo")
        Text("try")
        Text("somethings")
    }
}

交換兩個修飾符不應產生不同的結果。 如果您只想在一個方向上擴展,您也可以使用ExpandedWidthExpandedHeight (因為crossAxisSize實際上只在FlexColumn情況下擴展寬度)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM