在我的AndroidManifest.xml文件中,我将主题设置为Holo.Light
(甚至Holo
)
警报对话框是根据Holo主题(光明或黑暗)设计的,但下拉列表(选择)如下所示:
有没有办法像谷歌Chrome和其他应用程序那样设置下拉菜单? 原生选择如下所示:
答案 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();
}
确保根据您的喜好将主题设置为Holo
或Holo.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
创建自己的风格