我是android studio的新手。我正在为我的应用程序做吐司消息,但我无法做到这一点。这个是在eclipse中工作,但是没有用于android studio。我已经尝试了很多但是吐司的消息根本没有显示。 下面是代码。请建议我。提前谢谢你。
的index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="toastPlugin.js"></script>
<script>
function toast()
{
// alert('hii');
// shortToast("Short Toast Message Here...");
longToast("Long Toast Message Here...");
}
</script>
</head>
<body>
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<div onclick="toast();">click</div>
</div>
</div>
</body>
</html>
toastPlugin.js
window.shortToast = function(str, callback) {
cordova.exec(callback, function(err) {
callback('Nothing to echo.');
}, "ToastPlugin", "shortToast", [ str ]);
};
window.longToast = function(str, callback) {
alert(str);//Long Toast Message Here...
cordova.exec(callback, function(err) { alert("Nothing to echo");
callback('Nothing to echo.');
}, "ToastPlugin", "longToast", [ str ]);
};
ToastPlugin.java
package com.raddyx.myapplication;
import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import android.util.Log;
import android.widget.Toast;
public class ToastPlugin extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args,
CallbackContext callbackContext) throws JSONException {
String message = args.getString(0);
// used to log the text and can be seen in LogCat
Log.d("Toast Plugin", "Calling the Toast...");
Log.d("Toast Plugin", message);
if (action.equals("shortToast")) {
this.shortToast(message, callbackContext);
return true;
} else if (action.equals("longToast")) {
this.longToast(message, callbackContext);
return true;
}
return false;
}
private void shortToast(String message, CallbackContext callbackContext) {
if (message != null && message.length() > 0) {
Toast.makeText(cordova.getActivity().getApplicationContext(),
message, Toast.LENGTH_SHORT).show();
callbackContext.success(message);
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
private void longToast(String message, CallbackContext callbackContext) {
if (message != null && message.length() > 0) {
Toast.makeText(cordova.getActivity().getApplicationContext(),
message, Toast.LENGTH_LONG).show();
callbackContext.success(message);
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
}
在config.xml中
<feature name="ToastPlugin"> <param name="android-package" value="com.raddyx.plugins.ToastPlugin" /> </feature>
答案 0 :(得分:1)
使用 CLI
为iOS,Android和WP8 Cordova应用安装toast popup插件cordova plugin add cordova-plugin-x-toast
然后在cordova_plugins.js
中添加index.html
并调用以下功能
<强> showShortTop(消息)强>
window.plugins.toast.showShortTop('Hello there!', function(a) {
console.log('toast success: ' + a);
}, function(b) {
alert('toast error: ' + b);
})
<强> showLongBottom(消息)强>
window.plugins.toast.showLongBottom('Hello there!', function(a) {
console.log('toast success: ' + a)
}, function(b) {
alert('toast error: ' + b)
})