Javascript 如何更改Phonegaps条形码扫描插件的外观
我已将此插件安装到我的PhoneGap项目中: 它就像一个符咒。然而,我想能够有一些按钮上,而扫描仪是开放的导航应用程序。当应用程序打开时,扫描仪会立即打开,这样他们就可以直接扫描条形码,然后在某个地方有一个按钮,可以进入应用程序 我尝试查看插件javascript等,但它只有一个javascript文件,如下所示:Javascript 如何更改Phonegaps条形码扫描插件的外观,javascript,java,android,cordova,Javascript,Java,Android,Cordova,我已将此插件安装到我的PhoneGap项目中: 它就像一个符咒。然而,我想能够有一些按钮上,而扫描仪是开放的导航应用程序。当应用程序打开时,扫描仪会立即打开,这样他们就可以直接扫描条形码,然后在某个地方有一个按钮,可以进入应用程序 我尝试查看插件javascript等,但它只有一个javascript文件,如下所示: cordova.define("phonegap-plugin-barcodescanner.BarcodeScanner", function(require, exports
cordova.define("phonegap-plugin-barcodescanner.BarcodeScanner", function(require, exports, module) { /**
* cordova is available under *either* the terms of the modified BSD license *or* the
* MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
*
* Copyright (c) Matt Kane 2010
* Copyright (c) 2011, IBM Corporation
*/
var exec = require("cordova/exec");
/**
* Constructor.
*
* @returns {BarcodeScanner}
*/
function BarcodeScanner() {
/**
* Encoding constants.
*
* @type Object
*/
this.Encode = {
TEXT_TYPE: "TEXT_TYPE",
EMAIL_TYPE: "EMAIL_TYPE",
PHONE_TYPE: "PHONE_TYPE",
SMS_TYPE: "SMS_TYPE"
// CONTACT_TYPE: "CONTACT_TYPE", // TODO: not implemented, requires passing a Bundle class from Javascript to Java
// LOCATION_TYPE: "LOCATION_TYPE" // TODO: not implemented, requires passing a Bundle class from Javascript to Java
};
/**
* Barcode format constants, defined in ZXing library.
*
* @type Object
*/
this.format = {
"all_1D": 61918,
"aztec": 1,
"codabar": 2,
"code_128": 16,
"code_39": 4,
"code_93": 8,
"data_MATRIX": 32,
"ean_13": 128,
"ean_8": 64,
"itf": 256,
"maxicode": 512,
"msi": 131072,
"pdf_417": 1024,
"plessey": 262144,
"qr_CODE": 2048,
"rss_14": 4096,
"rss_EXPANDED": 8192,
"upc_A": 16384,
"upc_E": 32768,
"upc_EAN_EXTENSION": 65536
};
};
/**
* Read code from scanner.
*
* @param {Function} successCallback This function will recieve a result object: {
* text : '12345-mock', // The code that was scanned.
* format : 'FORMAT_NAME', // Code format.
* cancelled : true/false, // Was canceled.
* }
* @param {Function} errorCallback
*/
BarcodeScanner.prototype.scan = function (successCallback, errorCallback, config) {
if(config instanceof Array) {
// do nothing
} else {
if(typeof(config) === 'object') {
config = [ config ];
} else {
config = [];
}
}
if (errorCallback == null) {
errorCallback = function () {
};
}
if (typeof errorCallback != "function") {
console.log("BarcodeScanner.scan failure: failure parameter not a function");
return;
}
if (typeof successCallback != "function") {
console.log("BarcodeScanner.scan failure: success callback parameter must be a function");
return;
}
exec(successCallback, errorCallback, 'BarcodeScanner', 'scan', config);
};
//-------------------------------------------------------------------
BarcodeScanner.prototype.encode = function (type, data, successCallback, errorCallback, options) {
if (errorCallback == null) {
errorCallback = function () {
};
}
if (typeof errorCallback != "function") {
console.log("BarcodeScanner.encode failure: failure parameter not a function");
return;
}
if (typeof successCallback != "function") {
console.log("BarcodeScanner.encode failure: success callback parameter must be a function");
return;
}
exec(successCallback, errorCallback, 'BarcodeScanner', 'encode', [
{"type": type, "data": data, "options": options}
]);
};
var barcodeScanner = new BarcodeScanner();
module.exports = barcodeScanner;
});
Android的Phonegap条形码扫描仪插件只是在Phonegap和项目之间提供了一个接口。Android的ZXing客户端定义了在“扫描模式”下显示的用户界面,这是通过本机(Java)而不是Javascript完成的
要更改它,您需要编辑插件使用的代码,并在那里更改本机UI代码。。谢谢你的链接,会给我一个很好的开始:)正是我需要的,谢谢