Выбираем (выпадающий) стиль WebView/Phonegap

В моем файле AndroidManifest.xml я установил тему Holo.Light (или даже Holo)

Диалоговое окно предупреждения разрабатывается в соответствии с темой Holo (светлая или темная), но выпадающие меню (выберите) выглядят следующим образом:

dropdown design1

Есть ли способ стилировать выпадающие списки, такие как Google Chrome и другие приложения?
Нативный выбор выглядит следующим образом:

enter image description here

Ответ 1

Нет простого способа добиться этого. Что вам нужно сделать, так это создать собственный плагин, который откроет пользовательский диалог, когда вы нажмете на <select>.

Это выпадающее меню, из которого вы хотите избавиться, - это представление по умолчанию для выбора на веб-просмотрах, противоположное второму, которое было встроено в хром. Чтобы помочь вам начать:

//получить все параметры и сохранить в массиве

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();
}

Обязательно установите для своей темы Holo или Holo.Light, как вам угодно, и сделайте свой предпочтительный бит, чтобы вызвать собственный код с уровня javascript всякий раз, когда есть щелчок на элементе select.

Ответ 2

Вы можете использовать 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

чтобы создать свой собственный стиль