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

kel*_*dar 4 android themes look-and-feel android-theme cordova

我在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项目设置.但我不知道我需要改变什么才能解决这个问题?有人可以建议吗?谢谢!

kel*_*dar 17

别担心 - 自己修理一下.对于想要了解的人,默认清单文件中设置了以下标记.默认情况下,此设置为:

android:theme="Theme.Black.NoTitleBar"
Run Code Online (Sandbox Code Playgroud)

将其更改为以下修复它:

android:theme="Theme.DeviceDefault"
Run Code Online (Sandbox Code Playgroud)

我觉得很简单:).

更新

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

new AlertDialog.Builder(cordova.getActivity(), AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
Run Code Online (Sandbox Code Playgroud)

这很令人沮丧,但您可以注释掉这一行并将其替换为:

new AlertDialog.Builder(cordova.getActivity());
Run Code Online (Sandbox Code Playgroud)

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