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

时间:2013-05-28 16:00:36

标签: android cordova android-manifest

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

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

dropdown design1

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

enter image description here

2 个答案:

答案 0 :(得分:5)

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

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

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

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

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

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,并且只要点击{{1},您就可以通过javascript图层调用本机代码} element。

答案 1 :(得分:1)

您可以使用jQuery mobile并从他们的themeroller

获取自定义主题
or

尝试使用“ android:Theme ”作为您的父主题

<style name="YourTheme" parent="android:Theme">

它是旧的Android主题,并提供您正在寻找的风格

或者您也可以专门更改

<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

创建自己的风格