首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebView/Phonegap更改选择(下拉)样式

WebView/Phonegap更改选择(下拉)样式
EN

Stack Overflow用户
提问于 2013-05-29 00:00:36
回答 2查看 6.9K关注 0票数 10

在我的AndroidManifest.xml文件中,我将主题设置为Holo.Light (甚至是Holo)

警报对话框是根据全息主题(亮或暗)设计的,但下拉菜单(select)如下所示:

有没有办法像Google Chrome和其他应用程序那样设置下拉菜单的样式?

本机select如下所示:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-07 18:54:15

要做到这一点没有简单的方法。您需要做的是构建一个本机插件,当您单击某个<select>时,该插件将打开一个自定义对话框。

你想要去掉的下拉列表是webviews上选择的默认视图,而第二个视图是用chrome构建的。要帮助您入门,请执行以下操作:

//获取所有选项并存储在数组中

代码语言:javascript
复制
var values = $.map($('#group_select option'), function(e) { return e.value; });

//获取选项并显示对话框的本机函数

代码语言:javascript
复制
function void showDialog(String[] values){
    AlertDialog.Builder b = new Builder(this);
    b.setTitle("Example");
    b.setItems(values, new OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {

        dialog.dismiss();
        switch(which){
        case 0:
            //call some javascript method to use this value here
            break;
        case 1:
            //call some javascript method to use this value here
            break;
        }
    }

});
b.show();
}

确保根据您的喜好将主题设置为HoloHolo.Light,并在单击select元素时从javascript层调用本机代码。

票数 5
EN

Stack Overflow用户

发布于 2013-06-07 18:41:58

您可以使用jQuery mobile并从他们的文件夹中获取自定义主题

代码语言:javascript
复制
or

尝试使用"android:Theme“作为父主题,如下所示

代码语言:javascript
复制
<style name="YourTheme" parent="android:Theme">

这是旧的android主题,并提供了您正在寻找的样式

或者,您还可以专门更改

代码语言:javascript
复制
<item name="spinnerStyle">@android:style/Widget.Spinner</item>
<item name="spinnerDropDownItemStyle">@android:style/Widget.DropDownItem.Spinner</item>
<item name="spinnerItemStyle">@android:style/Widget.TextView.SpinnerItem</item

创建自己的样式的步骤

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16796526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档