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

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的应用程序版本中它们的外观示例: ICSTheme 以下是在运行PhoneGap 3.1的应用程序版本中它们的外观示例: GingerbreadTheme 我认为这不是一个PhoneGap问题,而更多是一个Android Eclipse项目设置的问题。但是我不知道我需要改变什么来解决这个问题?能否请有经验的人给予建议?谢谢!
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中指定的值。

很高兴能帮上忙 ;) - keldar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接