Android Jetpack Compose 开发问题:Unresolved reference ‘Icons‘.

复制代码
Icon(Icons.Filled.Close, contentDescription = "Close")
  • 在 Android Jetpack Compose 开发中,上述代码出现如下错误信息

    Unresolved reference 'Icons'.

  • libs.versions.toml 文件中的配置如下

toml 复制代码
[versions]
agp = "9.2.1"
coreKtx = "1.10.1"
junit = "4.13.2"
junitVersion = "1.1.5"
espressoCore = "3.5.1"
lifecycleRuntimeKtx = "2.6.1"
activityCompose = "1.8.0"
kotlin = "2.2.10"
composeBom = "2026.02.01"

[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  • 项目级 build.gradle.kts 文件中的配置如下
kotlin 复制代码
dependencies {
    implementation(platform(libs.androidx.compose.bom))
    implementation(libs.androidx.activity.compose)
    implementation(libs.androidx.compose.material3)
    implementation(libs.androidx.compose.ui)
    implementation(libs.androidx.compose.ui.graphics)
    implementation(libs.androidx.compose.ui.tooling.preview)
    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.lifecycle.runtime.ktx)
    testImplementation(libs.junit)
    androidTestImplementation(platform(libs.androidx.compose.bom))
    androidTestImplementation(libs.androidx.compose.ui.test.junit4)
    androidTestImplementation(libs.androidx.espresso.core)
    androidTestImplementation(libs.androidx.junit)
    debugImplementation(libs.androidx.compose.ui.test.manifest)
    debugImplementation(libs.androidx.compose.ui.tooling)
}
问题原因
  1. libs.versions.toml 文件中只声明了 androidx-compose-material3,即 Material 3 组件库

  2. 但没有包含 Material Icons 图标库,Icons 对象是在图标库中定义的

处理策略
  1. 在 libs.versions.toml 文件中添加 Material Icons 图标库依赖
toml 复制代码
[libraries]
androidx-compose-material-icons-core = { group = "androidx.compose.material", name = "material-icons-core" }
androidx-compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended" }
  1. 在项目级 build.gradle.kts 文件中添加 Material Icons 图标库依赖
kotlin 复制代码
dependencies {
    implementation(libs.androidx.compose.material.icons.core)
    implementation(libs.androidx.compose.material.icons.extended)
}
图标库 说明
material-icons-core 最基本的图标:Filled、Outlined、Rounded
material-icons-extended 更丰富的图标:Sharp、TwoTone
相关推荐
右手吉他23 分钟前
高通平台IA APN问题分析之一
android·物联网
a5986521 小时前
Docker多开云手机,六边云独立端口隔离访问实战
android·运维·docker·容器·智能手机·云手机
峥嵘life1 小时前
Android16 开机后立即打开相机闪退问题分析与解决总结
android·开发语言·数码相机·策略模式
用户2018792831671 小时前
从点击图标到首帧"上菜":一篇吃透 Android 启动优化原理
android
镜象科技3 小时前
职业院校AI心理健康解决方案是什么?从一台设备到全周期守护
android·人工智能
事圆则缓3 小时前
Kotlin 类型与空安全:从接口数据到页面状态
kotlin
码上有光3 小时前
Linux:信号的认识、信号的产生、信号的保存、信号的处理
android·linux·运维·信号
silvamux_4 小时前
4款新模型商务邮件翻译横评:0.98到0.46
android·java·javascript