mirror of
https://github.com/purplecabbage/phonegap-plugins.git
synced 2026-01-14 00:47:54 -05:00
52 lines
1.6 KiB
Java
52 lines
1.6 KiB
Java
package com.zenexity.SoftKeyBoardPlugin;
|
|
|
|
import org.json.JSONArray;
|
|
|
|
import android.content.Context;
|
|
import android.view.inputmethod.InputMethodManager;
|
|
|
|
import com.phonegap.api.Plugin;
|
|
import com.phonegap.api.PluginResult;
|
|
|
|
public class SoftKeyBoard extends Plugin {
|
|
|
|
public SoftKeyBoard() {
|
|
}
|
|
|
|
public void showKeyBoard() {
|
|
InputMethodManager mgr = (InputMethodManager) this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
|
|
mgr.showSoftInput(webView, InputMethodManager.SHOW_IMPLICIT);
|
|
|
|
((InputMethodManager) this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(webView, 0);
|
|
}
|
|
|
|
public void hideKeyBoard() {
|
|
InputMethodManager mgr = (InputMethodManager) this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
|
|
mgr.hideSoftInputFromWindow(webView.getWindowToken(), 0);
|
|
}
|
|
|
|
public boolean isKeyBoardShowing() {
|
|
|
|
int heightDiff = webView.getRootView().getHeight() - webView.getHeight();
|
|
return (100 < heightDiff); // if more than 100 pixels, its probably a keyboard...
|
|
}
|
|
|
|
public PluginResult execute(String action, JSONArray args, String callbackId) {
|
|
if (action.equals("show")) {
|
|
this.showKeyBoard();
|
|
return new PluginResult(PluginResult.Status.OK, "done");
|
|
}
|
|
else if (action.equals("hide")) {
|
|
this.hideKeyBoard();
|
|
return new PluginResult(PluginResult.Status.OK);
|
|
}
|
|
else if (action.equals("isShowing")) {
|
|
|
|
return new PluginResult(PluginResult.Status.OK, this.isKeyBoardShowing());
|
|
}
|
|
else {
|
|
return new PluginResult(PluginResult.Status.INVALID_ACTION);
|
|
}
|
|
}
|
|
}
|