在启动应用程序时,我需要键盘出现在屏幕上。
我可以在iOS中完成此操作,我将焦点设置在文本字段上,键盘出现。但是在Android和BlackBerry中,即使文本字段聚焦,键盘也不会显示。
我已使用以下代码设置焦点:
setTimeout(function(){
document.getElementById("mglTxtEmailAddr").focus();
}, 200);
答案 0 :(得分:3)
<强>的Android 强> 假设您使用的是Worklight 6.2或更高版本,则可以使用以下代码代码来显示Android的焦点键盘。
<强>使用Javascript:强>
document.getElementById('mglTxtEmailAddr').addEventListener('focus', function(){
WL.App.sendActionToNative('showKeyboard',{});
});
setTimeout(function(){
document.getElementById("mglTxtEmailAddr").focus();
}, 200);
在Worklight Studio生成的活动类中,在onCreate函数的末尾添加以下操作接收器。
<强> YourActivity.java:强>
WL.getInstance().addActionReceiver(new WLActionReceiver(){
@Override
public void onActionReceived(String action, JSONObject arg1) {
if("showKeyboard".equals(action)) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
}
}
});
<强>的iOS 强>
对于AppDelegate类中的iOS,在wlInitDidCompleteSuccessfully
内添加以下代码:
[cordovaViewController.webView setKeyboardDisplayRequiresUserAction:NO];