簡體   English   中英

Jetpack Compose 文本字段 Alignment

[英]Jetpack Compose Textfield Alignment

我是 Jetpack Compose 的新手。 我想從 TextField 的 centervertically-start position 開始輸入,但我不能將“Example”置於 centervertically-start position。

Row(
    modifier = Modifier
        .fillMaxWidth()
        .height(50.dp)
        .shadow(5.dp)
        .background(Color.Yellow),


) {

    BasicTextField(
        value = text,
        onValueChange = {onvalueChange(it)},
        modifier = Modifier.weight(10f).background(Color.Blue).fillMaxSize(),
        singleLine = true,
        textStyle = LocalTextStyle.current.copy(
            textAlign = TextAlign.Center
        )


    )
    Image(painter = painterResource(id = R.drawable.ic_baseline_search_24),
        contentDescription = "Search",
        modifier = Modifier.weight(2f).fillMaxSize()

    )

這是我的代碼

圖片1

這就是我想做的。

圖片2

Row對此有一個verticalAlignment 此外,如果您希望您的 TextField 像圖片一樣左對齊,請刪除textAlign (或更改它但它默認為開始)

Row(
    modifier = Modifier
        .fillMaxWidth()
        .height(50.dp)
        .shadow(5.dp)
        .background(Color.Yellow),
    verticalAlignment = Alignment.CenterVertically,
) {

    BasicTextField(
        value = text,
        onValueChange = {onvalueChange(it)},
        modifier = Modifier.weight(10f).background(Color.Blue).fillMaxSize(),
        singleLine = true,
    )
    Image(painter = painterResource(id = R.drawable.ic_baseline_search_24),
        contentDescription = "Search",
        modifier = Modifier.weight(2f).fillMaxSize()

    )
}

使用背景框控制,請嘗試:

Row(
    modifier = Modifier
    .fillMaxWidth()
    .height(50.dp)
    .shadow(5.dp)
    .background(Color.Yellow),
    ) {
        Box(Modifier.weight(10f).background(Color.Blue).fillMaxSize(),contentAlignment = CenterStart){
            BasicTextField(
                value = text,
                onValueChange = { onvalueChange(it) },
                modifier = Modifier.wrapContentHeight(
                    Alignment.CenterVertically),
                singleLine = true,
                textStyle = LocalTextStyle.current.copy(
                    textAlign = TextAlign.Start
                )
            )
        }
        Image(
            Icons.Filled.Search,
            contentDescription = "Search",
            modifier = Modifier.weight(2f).fillMaxSize()
    
        )
    }

暫無
暫無

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

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