Val*_*kov 15 android android-jetpack android-jetpack-compose
在androidx.compose.material.icons.Icons 中有许多常用的材质图标,但有些缺失。举个例子,没有打印图标。
...
import androidx.compose.material.Icon
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu // ok
import androidx.compose.material.icons.filled.Print // error, unresolved reference
@Composable
fun IconsExample() {
Icon(Icons.Filled.Menu, "menu") // ok
Icon(Icons.Filled.Print, "print") // error, unresolved reference
}
Run Code Online (Sandbox Code Playgroud)
在应用程序中使用这些缺失图标的最简单方法是什么?
Val*_*kov 26
有一个单独的依赖项material-icons-extended,其中包含完整的材料图标列表,只需将其添加到您的应用程序的build.gradle
dependencies {
...
implementation "androidx.compose.material:material-icons-extended:$compose_version"
}
Run Code Online (Sandbox Code Playgroud)
现在您可以使用任何材质图标,例如:
dependencies {
...
implementation "androidx.compose.material:material-icons-extended:$compose_version"
}
Run Code Online (Sandbox Code Playgroud)
关于工件大小的说明:由于工件包含多个主题的所有材质图标,因此它是一个非常大的依赖项,从1.0.0-alpha10. maven repository有个注释建议不要直接使用:
该模块包含所有 Material 图标。它是一个非常大的依赖项,不应直接包含在内。
? 考虑到大多数 Android 项目都为发布版本启用代码收缩,如此大的依赖不会影响发布版本的大小,但会影响您的调试版本和设备上传时间,尽管我不确定影响会很大。实际上,许多撰写示例都使用此依赖项。
如果只需要一些额外的图标并且您决定不使用material-icons-extendedartifact,则可以使用 Android Studio轻松地将这些图标添加到您的项目资源中。您可以像这样使用这样的资源图标:
...
import androidx.compose.material.Icon
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu // ok
import androidx.compose.material.icons.filled.Print // ok
@Composable
fun IconsExample() {
Icon(Icons.Filled.Menu, "menu") // ok
Icon(Icons.Filled.Print, "print") // ok
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3767 次 |
| 最近记录: |