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

Jad*_*ran 10 android android-manifest cordova

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

警报对话框是根据Holo主题(浅色或深色)设计的,但下拉列表(选择)如下所示:

下拉设计1

有没有办法像谷歌Chrome和其他应用程序那样设置下拉菜单?
本机选择如下所示:

在此输入图像描述

cai*_*ci2 5

没有简单的方法可以实现这一目标.你需要做的是构建一个本机插件,当你点击一个时,它将打开一个自定义对话框<select>.

您想要摆脱的下拉列表是webviews上选择的默认视图,与第二个使用chrome构建的视图相对.为了帮助您入门:

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

var values = $.map($('#group_select option'), function(e) { return e.value; });
Run Code Online (Sandbox Code Playgroud)

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

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();
}
Run Code Online (Sandbox Code Playgroud)

确保将主题设置为HoloHolo.Light根据需要设置主题,并且只要点击select元素,就可以从首选位调用javascript层中的本机代码.