10

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

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

下拉设计1

有没有办法像谷歌浏览器和其他应用一样设置下拉菜单的样式?
本机选择如下所示:

在此处输入图像描述

4

2 回答 2

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

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

于 2013-06-07T10:54:14.717 回答
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

创造自己的风格

于 2013-06-07T10:41:57.640 回答