1

我正在尝试创建一个模块(android 的本机服务),以便我的 appcelerator 应用程序可以启动本机服务。该服务运行良好,它创建了一个 relativeLayout 一个 system_overlay 我可以设置该 relativeLayout 的背景颜色,但最终我想设置它的 backgroundImage。我有一个要用于该背景的 png,名为:bg_noti

我曾尝试在我的本机服务类(模块项目内部)中这样做,如下所示:

String bg_name ="android.R.drawble.bg_noti";
        try {
            notificationBar.setBackgroundResource(TiRHelper.getApplicationResource(bg_name));
        } catch (ResourceNotFoundException e) {
            // TODO Auto-generated catch block
            Log.v(":::::::::::", "EXCEPTION:"+e);
            e.printStackTrace();
        }

我的理解是我需要将 png 放在 Titanium 应用程序项目中的某个位置,但无论我把它放在哪里,它似乎都没有进入编译的应用程序..

我总是得到找不到资源的异常。

我正在关注此处找到的示例:http: //developer.appcelerator.com/question/49671/android-r-references-in-appcelerator-module

但他们说将图像放在不存在的 $APP_DIR/platform/android/res 目录中..我尝试创建它...但仍然无法正常工作..

有人可以告诉我我实际上应该将此图像放置在钛应用程序项目中的哪个位置,以便模块可以引用它。

4

1 回答 1

0

您使用该getApplicationResource方法,但您想要一个 Android 资源。您应该尝试使用以下getAndroidResource方法:

String bg_name = "drawble.bg_noti";
try {
    notificationBar.setBackgroundResource(TiRHelper.getAndroidResource(bg_name));
} catch (ResourceNotFoundException e) {
    …
}

您还应该更改bg_name(android.R.drawable.bg_notidrawble.bg_noti)。

于 2014-01-03T15:08:40.037 回答