You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Android Jetpack Compose中TextField的输入字体大小

Jetpack Compose 调整TextField输入字体大小方案

单组件单独调整

给TextField传textStyle参数就能直接控制输入区域的文本字号,这是最直接的改法,Material2、Material3版本的TextField用法完全一致:

import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.material3.TextField
import androidx.compose.material3.Text
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.sp

@Composable
fun CustomSizeTextField() {
    var inputValue by remember { mutableStateOf("") }
    TextField(
        value = inputValue,
        onValueChange = { inputValue = it },
        // 核心配置:控制实际输入内容的文本样式
        textStyle = TextStyle(
            fontSize = 18.sp // 按需调整字号数值即可
        ),
        label = { Text("输入框标签") },
        placeholder = { Text("请输入内容") }
    )
}

踩坑提示:别改label、placeholder参数里的文字样式,那两个只控制提示文字、浮动标签的显示效果,和你实际输入的文本字号无关。默认输入字号是14sp,多数场景下调到16sp-18sp会有更舒服的显示效果。
如果你用的是BasicTextField,逻辑完全一致,也是通过同名的textStyle参数设置输入字号。

全局统一配置

如果项目里所有TextField都要用统一的输入字号,不用每个组件单独传参,直接修改Material主题的Typography配置即可:

import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Typography
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.sp

val AppTypography = Typography(
    // TextField默认读取bodyLarge的样式作为输入文本的基础样式
    bodyLarge = TextStyle(
        fontSize = 18.sp
        // 字重、字体族等其他字体属性也可以在这里统一配置
    )
)

@Composable
fun AppTheme(content: @Composable () -> Unit) {
    MaterialTheme(
        typography = AppTypography,
        content = content
    )
}

效果参考:
默认小字号TextField显示效果


内容的提问来源于stack exchange,提问作者Yuki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 20:03:26