让Android像对待Android Spinner一样对待HTML选择?
Android Spinner GUI组件是一个典型的具有自动完成功能的droplist让Android像对待Android Spinner一样对待HTML选择?,android,html,select,android-spinner,Android,Html,Select,Android Spinner,Android Spinner GUI组件是一个典型的具有自动完成功能的droplist带有数据列表的HTML5选择也是如此,但不幸的是,Android中带有数据列表的HTML5是而不是 当然,Android要到明年才会支持datalist(他们声称)。更重要的是,任何HTML选择都是Android平板电脑上的黑客作业。在电话上,没关系。在平板电脑上,选择不是下拉列表,而是在屏幕底部向上滑动的短列表。该列表有单选按钮和完成按钮。这是一个奇怪的小UI组件,它插入屏幕而不是显示下拉列表。有没有办法告
带有数据列表的HTML5选择也是如此,但不幸的是,Android中带有数据列表的HTML5是而不是 当然,Android要到明年才会支持datalist(他们声称)。更重要的是,任何HTML选择都是Android平板电脑上的黑客作业。在电话上,没关系。在平板电脑上,选择不是下拉列表,而是在屏幕底部向上滑动的短列表。该列表有单选按钮和完成按钮。这是一个奇怪的小UI组件,它插入屏幕而不是显示下拉列表。有没有办法告诉Android做正确的事情?要像对待桌面上的web浏览器一样对待此问题 我用过jQueryUIDropList,它在平板电脑上还可以,但在手机上就不行了。在手机上,键盘会弹出并挡住屏幕。有没有办法告诉Android做正确的事情?不显示此特定html输入元素的键盘 我可以告诉Android:
这有点老套,但这是可能的。您必须在
WebView
和java
代码之间创建一个javascript
桥梁
class JsBridge {
@JavascriptInterface
public void showNativeSpinner() {
// show native spinner logic
}
}
webView.addJavascriptInterface(new JsBridge(), "jsBridge");
在html
代码中,您必须删除/隐藏选择
并添加某种可以单击的占位符。禁用select
将不起作用,因为禁用的元素无法接收事件(无法单击)。然后附加一个触发桥接方法的onclick
回调。所有这些都可以使用javascript完成
$("#my-select").hide();
$("#my-select-parent").append("<div id='placeholder'></div>");
$("#placeholder").on("click", function() {
jsBridge.showNativeSpinner();
});
最后一件事是向微调器添加OnItemSelectedListener
,并在listener方法中再次使用loadUrl
方法调用WebView
中的javascript
回调
这应该可以解决您的问题:)phonegap与旧的Xamarin应用程序我认为您可以在输入集中时使其成为只读的,并让jQuery UI完成它的工作。从理论上讲,键盘不应显示为只读字段。@maxweber您尝试过我在回答中描述的方法吗?嗨,Kiril,不,我知道。但是,你的答案是最好的。想办法接受它。底线是,谷歌又一个坏消息。他们真的是微软1999。我认为他们在变得毫无价值之前还有一些创新。顺便说一句,看看竞争对手的应用程序,他们也从来没有弄明白这一点。当他们给它打电话时,键盘会出现在金额字段的顶部等等。那是一家财富50强的公司,但却做不好。
webView.loadUrl("javascript:yourLogicFunction()");