android - 如何在 NativeScript 项目中从 JS 访问 Android 颜色资源?
问题描述
在我的 NativeScript 项目中,我在 App_Resources/Android/src/main/res/values/colors.xml 中定义了一种颜色:
<resources>
...
<color name="notification">#00546A</color>
</resources>
现在我尝试访问定义颜色的值,如下所示:
utils.ad.getApplicationContext().getResources().getColor(
android.R.color.notification,
null
)
但我总是得到:
android.content.res.Resources&NotFoundException:资源 ID #0x0
我也试过:
android.support.v4.content.ContextCompat.getColor(
utils.ad.getApplicationContext(),
android.R.color.notification
)
...但结果相同。
有人有提示吗?
解决方案
尝试这个
var app = require('tns-core-modules/application');
app.getNativeApplication().getResources().getIdentifier("color_name", "color", app.getNativeApplication().getPackageName());
推荐阅读
- python - 水平滚动 QTextEdit 到特定的列号
- java - 将 URL 变量传递给安全弹簧表单
- docker - 我可以在 Docker 构建期间将 MVC 3 安装到 Windows 容器中吗?
- google-maps - Ionic3 离子原生谷歌地图不显示地图,而只显示谷歌徽标(显示灰色空白地图)
- sql - SQL Server 2008 STFilter 性能
- java - 在 IntelliJ 中从 sbt 控制台设置 JVM 堆大小
- laravel - Laravel 5.6 - 如何在 api 控制器中获取 auth()->user() 或 $response->user()?
- c - 为什么我不能在 C 编程中将 char 写入二进制文件?
- python - 获得使用 Python3 的 spotipy 修改 Spotify 播放列表的授权
- ruby - 将换行符 (\n) 插入 gsub 替换参数