我在Android上运行的PhoneGap 3.1项目工作正常 - 使用Android API lvl编译。 19.但是,原生对话框/警报使用的是Froyo / Android 2.x外观,而我希望它们使用ICS / Android 4.x外观。在我的旧版本中,我确实通过更新AndroidManifest.xml中的targetSDKVersion来设法使用ICS获取对话框主题。但是,这在我的3.1项目中没有用。
这是他们在运行PhoneGap 2.5的应用程序版本中看到的示例:
这是他们在我的应用程序中运行PhoneGap 3.1的示例:
我确实认为这不是一个PhoneGap问题,而是更多Android Eclipse项目设置。但我不知道我需要改变什么才能解决这个问题?有人可以建议吗?谢谢!
答案 0 :(得分:17)
别担心 - 自己修理。对于想要了解的人,默认清单文件中设置了以下标记。默认情况下,它设置为:
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中指定的值。