PhoneGap 3.x Android - 原生弹出/对话主题

时间:2013-11-04 10:58:17

标签: android cordova themes look-and-feel android-theme

我在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的应用程序版本中看到的示例: ICSTheme

这是他们在我的应用程序中运行PhoneGap 3.1的示例: GingerbreadTheme

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

1 个答案:

答案 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中指定的值。