有一个单独的依赖项material-icons-extended
,其中包含完整的材料图标列表,只需将其添加到您的应用程序的build.gradle
中即可。
dependencies {
...
implementation "androidx.compose.material:material-icons-extended:$compose_version"
}
现在您可以使用任何材料图标,例如:
...
import androidx.compose.material.Icon
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material.icons.filled.Print
@Composable
fun IconsExample() {
Icon(Icons.Filled.Menu, "menu")
Icon(Icons.Filled.Print, "print")
}
关于构件大小的说明:由于该构件包含多个主题的所有 Material 图标,因此它是一个相当大的依赖项,在 1.0.0-alpha10 版中的 aar 大小为 18MB。在 Maven 存储库上有一条注释,建议不要直接使用它:
该模块包含所有 Material 图标。它是一个非常大的依赖项,不应直接包含。
考虑到大多数 Android 项目在发布构建时启用了代码缩减,这样一个巨大的依赖项不会影响发布构建的大小,但它可能会影响您的调试构建和设备上传时间,尽管我不确定影响是否显著。实际上,许多Compose 示例都使用了该依赖项。
如果只需要一些额外的图标而您决定不使用 material-icons-extended
构件,则可以轻松将这些图标添加到您的项目资源中,使用 Android Studio。您可以像这样使用这些资源图标:
...
import com.mycompany.myproject.R
import androidx.compose.ui.res.painterResource
@Composable
fun ResourceIconExample() {
Icon(
painter = painterResource(R.drawable.ic_baseline_print_24),
contentDescription = "print"
)
}
material-icons-extended
的图标示例。希望这能够帮到您! - Valeriy Katkovmaterial_icons_extended
,跳转到我想要的图标的定义,并将代码复制到我的项目中。我将其放在我们自己的命名空间中,以便我可以跟踪使用了哪些图标等。有点麻烦,但开销很小!每个图标只是一个私有和公共属性,就这样。 - Robert Jeppesen