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

Jetpack Compose中Material3 TextField实验性API报错解决方案咨询

修复Material3 TextField实验性API报错的方案

方案一:启用实验性API支持

当前androidx.compose.material3.TextField处于实验性阶段,只需添加注解允许使用该API:

  • 在Composable函数上添加@OptIn(ExperimentalMaterial3Api::class)注解
  • 导入对应的实验性API标识类

修改后的代码:

import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun EditNumberField() {
    TextField(value = "", onValueChange = {})
}

方案二:切换到稳定版Material2 TextField

如果不想依赖实验性组件,可以使用Material2的稳定版TextField:

  • 将导入替换为import androidx.compose.material.TextField
  • 代码无需其他修改,基础参数与Material3版本兼容

修改后的代码:

import androidx.compose.material.TextField
import androidx.compose.runtime.Composable

@Composable
fun EditNumberField() {
    TextField(value = "", onValueChange = {})
}

方案三:使用Material3稳定版替代组件

Material3中的OutlinedTextField已稳定,可直接替代实验性的TextField:

  • 替换组件为OutlinedTextField
  • 导入import androidx.compose.material3.OutlinedTextField

修改后的代码:

import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable

@Composable
fun EditNumberField() {
    OutlinedTextField(value = "", onValueChange = {}, label = { Text("输入数字") })
}

注意:OutlinedTextField需要配置label等必填参数,可根据实际需求调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:47:05