首页 > 解决方案 > 如何在 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
)

...但结果相同。

有人有提示吗?

标签: androidcolorsresourcesnativescript

解决方案


尝试这个

var app = require('tns-core-modules/application');
app.getNativeApplication().getResources().getIdentifier("color_name", "color", app.getNativeApplication().getPackageName());

推荐阅读