PhoneGap 3.x Android-本机弹出/对话框主题

PhoneGap 3.x Android-本机弹出/对话框主题,android,cordova,themes,look-and-feel,android-theme,Android,Cordova,Themes,Look And Feel,Android Theme,我有一个PhoneGap 3.1项目运行在Android上,它运行良好-使用Android API lvl编译。19但是,本机对话框/警报使用的是Froyo/Android2.x外观,而我希望它们使用的是ICS/Android4.x外观。在my的旧版本中,我确实通过更新AndroidManifest.xml中的targetSDKVersion,使用ICS获得了对话主题。但是,这在我的3.1项目中并不起作用 这是运行PhoneGap 2.5的我的应用程序版本中它们的外观示例: 这是运行Phone

我有一个PhoneGap 3.1项目运行在Android上,它运行良好-使用Android API lvl编译。19但是,本机对话框/警报使用的是Froyo/Android2.x外观,而我希望它们使用的是ICS/Android4.x外观。在my的旧版本中,我确实通过更新AndroidManifest.xml中的targetSDKVersion,使用ICS获得了对话主题。但是,这在我的3.1项目中并不起作用

这是运行PhoneGap 2.5的我的应用程序版本中它们的外观示例:

这是运行PhoneGap 3.1的我的应用程序中它们的外观示例:


我确实认为这不是一个PhoneGap问题,而是一个Android Eclipse项目设置。但我不知道我需要改变什么来解决这个问题?有人能给我建议吗?谢谢

别担心,我自己修好了。对于那些想知道的人,默认清单文件中设置了以下标记。默认情况下,此设置为:

android:theme="Theme.Black.NoTitleBar"
将其更改为以下选项可以修复它:

android:theme="Theme.DeviceDefault"
我想很简单:)

更新

从org.apache.cordova.dialog v2.9.0开始,cordova项目的人员将Android源代码更改为包含默认主题值的硬编码值,如下所示:

new AlertDialog.Builder(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
这是令人沮丧的,但您可以注释掉这一行,并替换为:

new AlertDialog.Builder(cordova.getActivity());

要恢复以前的行为并让Cordova使用AndroidManifest.xml中指定的值。

很高兴能提供帮助;)