Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让Android像对待Android Spinner一样对待HTML选择?_Android_Html_Select_Android Spinner - Fatal编程技术网

让Android像对待Android Spinner一样对待HTML选择?

让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组件,它插入屏幕而不是显示下拉列表。有没有办法告

Android Spinner GUI组件是一个典型的具有自动完成功能的droplist
带有数据列表的HTML5选择也是如此,但不幸的是,Android中带有数据列表的HTML5是而不是

当然,Android要到明年才会支持datalist(他们声称)。更重要的是,任何HTML选择都是Android平板电脑上的黑客作业。在电话上,没关系。在平板电脑上,选择不是下拉列表,而是在屏幕底部向上滑动的短列表。该列表有单选按钮和完成按钮。这是一个奇怪的小UI组件,它插入屏幕而不是显示下拉列表。有没有办法告诉Android做正确的事情?要像对待桌面上的web浏览器一样对待此问题

我用过jQueryUIDropList,它在平板电脑上还可以,但在手机上就不行了。在手机上,键盘会弹出并挡住屏幕。有没有办法告诉Android做正确的事情?不显示此特定html输入元素的键盘

我可以告诉Android:

  • 不显示某些元素的键盘
  • 不是那个愚蠢的iPad风格的疣子,而是html选择像普通浏览器一样,像他们自己的droplist微调器一样

  • 这有点老套,但这是可能的。您必须在
    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()");