使用Cordova,有没有办法引用原生图标?

时间:2014-10-13 18:24:27

标签: android ios cordova

我正在使用Cordova 3.5构建一个应用程序,其中包含列表中的相当标准项目的菜单(家庭,联系人等),我想尽可能使用本机菜单图标。我相信这些图标已作为操作系统的一部分存在于设备上,但我不知道Cordova是否为我提供了引用它们的方法。

我想我需要编写一个Javascript函数来根据平台选择正确的文件名,例如:

// this is pseudocode
var icon = '';
if (platform === 'android') {
  icon = 'some/path/home.png';
} else {
  icon = 'other/path/icon.home.png';
  // or maybe a function such as the following exists:
  // icon = cordova.getNativeIcon('icon.home.png');
}

$('.selector').css('background-image', icon);

或者,我可以通过引用CSS中的文件来实现,例如:

.android .home-icon {
  background-image: url('some/path/home.png');
}
.ios .home-icon {
  background-image: url('other/path/icon.home.png');
}

那么,人们如何在科尔多瓦处理这类事情?有没有我可以用来访问原生图标的功能?人们只是将它们复制到他们的项目中吗?什么是最佳做法?

1 个答案:

答案 0 :(得分:0)

如果您正在使用Cordova,那么您将在主机操作系统提供的Web视图中工作,并且您无法直接访问任何艺术作品。我发现使用图标字体和CSS"主题"工作得很好,但这种方法将复制已经提供的艺术品。例如,iOS 6与iOS 7或8的主题相关的额外工作,但它并没有听起来那么糟糕。

IBM确实有一篇关于在本机和Web控件之间划分视图的文章,但听起来有点麻烦。更多详情:https://www.ibm.com/developerworks/community/blogs/worklight/entry/ios_combining_native_and_web_controls_in_cordova_based_applications