androidx.compose.material.icons.Icons中有很多常用的material icons,但是有些不见了,比如没有print icon。
...
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
}
在应用程序中使用这些缺失图标的最简单方法是什么?
2条答案
按热度按时间i5desfxk1#
有一个单独的依赖项
material-icons-extended
,其中包含材质图标的完整列表,只需将其添加到应用的build.gradle
中现在可以使用任何材质图标,例如:
**关于工件大小的注意事项:**因为工件包含了多个主题的所有材质图标,所以依赖性很大,
1.0.0-alpha10
的aar为18MB,有note on maven repository建议不要直接使用:此模块包含所有材料图标。它是一个非常大的依赖项,不应直接包含。
考虑到大多数Android项目都支持针对发布版本的代码缩减,如此大的依赖不会影响发布版本的大小,但会影响调试版本和设备上传时间,尽管我不确定影响是否显著。实际上,许多compose samples都使用这种依赖。
如果只需要几个额外的图标,并且您决定不使用
material-icons-extended
工件,则可以使用Android Studio轻松地将这些图标添加到您的项目资源中。t9eec4r02#
我将在前面的注解中添加一点,即您不仅可以使用painterResource,还可以使用ImageVector。这样,您就可以在可组合函数中使用相同的类型参数。ImageBitmap vs ImageVector