- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这似乎是从 res
中的 Android 矢量资源加载自定义图标的唯一方法。文件夹是在 @Composable
内进行使用 vectorResource(R.drawable.myVectorName)
的函数方法。
这很好,但我喜欢获取 VectorAssets
的语法对于Icon(asset: VectorAsset)
类,看起来像 Icon(Icons.Default.Plus)
.
它看起来像 vectorResource()
方法使用称为 loadVectorResource()
的内部方法,它用来读取构成矢量 Assets 文件的实际 XML 文件的方法也是内部的。
我将如何创建像 MyAppIcons.Default.SomeIcon
这样的对象在 Jetpack Compose 中?
编辑
所以,我已经找到了一个解决方案。但是,我自己对内置 Icon()
进行扩展/重载会很好。功能,但我不确定是否有适当的方法来做到这一点。
最佳答案
原来我没有用我的大脑。答案很简单。
要点是,Icon()
是一个可组合的函数,这意味着当然可以在那里使用 vectorResource()。
所以,正确的方法已经不是什么 secret 了……是自己制作MyAppIcon()
组件,请调用 vectorResource()
然后返回一个正常的 Icon()
,像这样:
正确方式
@Composable
fun MyAppIcon(
resourceId: Int,
modifier: Modifier = Modifier,
tint: Color = AmbientContentColor.current
) {
Icon(
asset = vectorResource(id = resourceId),
modifier = modifier,
tint = tint
)
}
然后,您可以在其他地方创建一个对象,如下所示:
object MyAppIcons {
val SomeIcon = R.drawable.someIcon
val AnotherIcon = R.drawable.anotherIcon
}
当你把两者放在一起时,你可以像这样使用它:
MyAppIcon(MyAppIcons.SomeIcon)
我希望谷歌很快就会添加这个覆盖,允许我们传递资源 ID。
关于android - Jetpack 撰写 : Custom VectorAsset Icon object similar to built-in `Icons.Default` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64700145/
我正在使用 Kotlin 和 Dagger 2 开发一个 Android 项目。我有一个 NetworkModule它应该提供 Retrofit 的单例实例。我在其中定义了所有这些提供程序功能。 下面
我从 util/buildscripts/build.sh 构建 dojo 并包含我的自定义模块导致层文件(示例 dojo.js)仅包含文本“//>>built”。 最佳答案 这里讨论了问题并解决了问
这个问题在这里已经有了答案: How to unhide an overriden function? (1 个回答) 关闭 9 年前。 在我的 Matlab 路径上有一个自定义的 zeros 函数
我试图找到一个内置的几何平均值,但找不到。 (显然,在 shell 中工作时,内置函数不会为我节省任何时间,我也不怀疑准确性有任何差异;对于脚本,我尝试尽可能频繁地使用内置函数,其中(累积)性能提升通
我想知道在 keycloak (KL) 中是否可以分析身份验证日志(尝试次数、错误等),如果 KL 已经提供了这样做的东西,或者我必须构建它。欢迎提出任何建议。 谢谢尼古拉 最佳答案 Keycloak
我想知道在 keycloak (KL) 中是否可以分析身份验证日志(尝试次数、错误等),如果 KL 已经提供了这样做的东西,或者我必须构建它。欢迎提出任何建议。 谢谢尼古拉 最佳答案 Keycloak
据我所知,Python builtins 指的是那些包含在__builtins__ 中的异常和函数: >>> import builtins # import __builtin__ in Pyth
我想修改currency过滤以处理输入值中的自定义货币格式。 (例如,AUD 3.00 -> $3.00)。 一种选择是从头开始编写我自己的过滤器。然而,这似乎有很多重复,鉴于现有的过滤器很棒,我只需
我正在深入研究一些 C 内部结构,我从 clang 的 stddef.h 中找到了以下行(位于 /usr/lib/llvm-11/lib/clang/11.0 .0/include/): typede
这是一个由两部分组成的部分:首先,定义一个函数,distance_from_zero,带有一个参数(选择您喜欢的任何参数名称)。 其次,让该函数执行以下操作: 检查它接收到的输入的类型。如果类型为 i
我创建了一个接受 event 的函数对象并使用 .clientX 和 .clientY 属性做一些事情。基于我传递的是整个对象,而不仅仅是我将使用的属性,是否存在任何性能问题?这个对象是通过引用传递的
我目前正在从 ECMA 学习 JavaScript Manual ,我对内置对象的概念感到困惑。我知道像Function、Object、Math这样的对象是内置对象,你可以直接使用它们,例如Math
我想对我正在构建的小型应用程序使用潜在语义分析,但我不想自己构建矩阵。 (部分是因为我拥有的文档不会成为一个很好的培训集合,因为它们有点短且异构,部分是因为我刚买了一台新计算机,我发现安装线性代数之类
我是 C++ 的初学者,所以如果答案很明显,它可能就是我正在寻找的答案。我正在阅读 this thread 中的第二个回复并感到困惑。 #include #include int main() {
我需要用字符串构建一个对象属性但是我怎么能使用这个字符串的值作为属性名呢? var x = 'a'; var y = 'b'; var xy = x + y; var z = { xy: 's
我目前正在使用 java 中的 play 框架 2.2.6 开发一个应用程序。我的系统需要区分两个用户角色:管理员和用户。 到目前为止,我知道使用 Security.Authenticator 类来防
提问界面标记了许多“可能已经有您的答案的问题”,但我已尝试进行尽职调查以检查是否有任何人在问我在这里的确切内容。如果这是重复的,我深表歉意。 假设我有以下不正确的程序: extern void und
我需要在主屏幕上有相对缓慢移动的图像(有些像动态壁纸),我想知道,就 CPU 负载而言,Android 动画类是否适合这种情况? 我担心的是 android 动画以最高帧速率不断运行,有时它会连续几个
我想知道是否可以从 java.util.stream.Collectors 扩展内置的 Java Stream 收集器类,而不是从头开始构建自定义收集器,因此复制已经在该类中实现的代码。 例如:假设我
以下是我使用 Python 3.8.1(在 macOS Mojave,10.14.6 上,作为 以及其他一些平台上的 Python 3.7(或更旧的))。我是新来的 计算,不知道如何要求改进 语言,但
我是一名优秀的程序员,十分优秀!