4

我有一个在 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 的应用程序版本中的外观示例: ICS主题

这是他们在我的运行 PhoneGap 3.1 的应用程序中的外观示例: 姜饼主题

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

4

1 回答 1

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

于 2013-11-04T14:46:54.207 回答