art*_*ung 15 android android-ui android-webview android-softkeyboard
我有一个带有信用卡输入表格的webview(带有标准<input type="text" />字段).在不同版本的Android中,我会得到不同的键盘.Kit-Kat似乎在表单内部不显示Prev/ Next键.
没有Prev/的示例Next:

相同的webview,带Prev/ Next:

Bra*_*ell 18
您可以从WebView控制键盘,但正如其他答案所示,它可能无法用于所有键盘.尽管如此,我通常发现大多数主流键盘都实现了我想要的行为.
WebView有一个名为的方法onCreateInputConnection.您可以挂钩到此方法并添加(和/或删除)标志inputType和/或imeOptions.有很多标志可供你使用.
查看EditorInfo选项,特别是IME_FLAG_NAVIGATE_NEXT和IME_FLAG_NAVIGATE_PREVIOUS.请参阅下面的用法(从键盘选项中删除prev/next标志):
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
outAttrs.imeOptions = outAttrs.imeOptions & ~EditorInfo.IME_FLAG_NAVIGATE_NEXT &
~EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS;
return inputConnection;
}
Run Code Online (Sandbox Code Playgroud)
您可以尝试的另一件事是使用InputType标志隐藏整个建议栏TYPE_TEXT_FLAG_NO_SUGGESTIONS.请参阅下面的示例(将"无建议"标志添加到输入类型):
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
outAttrs.inputType = outAttrs.inputType | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
return inputConnection;
}
Run Code Online (Sandbox Code Playgroud)
还有许多其他标志可用于直接从WebView自定义IME.将开发人员引用到链接页面,您应该能够实现大多数键盘上的行为.