Android Google Maps 无法在当前主题中找到样式“mapViewStyle”

Posted

技术标签:

【中文标题】Android Google Maps 无法在当前主题中找到样式“mapViewStyle”【英文标题】:Android Google Maps Failed to find style 'mapViewStyle' in current theme 【发布时间】:2011-10-21 22:59:03 【问题描述】:

添加谷歌地图视图时(我扩展了一个 MapView,使用 xml 编辑器将其添加到 Activity,并手动将我的谷歌地图 api 密钥添加到布局 xml 文件中)

我的权限允许在清单文件中上网

我想知道的是,在 xml 编辑器中我收到错误“无法在当前主题中找到样式 'mapViewStyle'”,但我似乎已经正确设置了所有内容。

【问题讨论】:

我们能看一些代码吗? xml 文件。 我在 Eclipse 中得到了同样的东西,但它正在工作。如果你运行代码,你会发现没有问题。该错误是因为您尚未在 values/styles.xml 中为 googlemaps 定义样式。 就像亚历克斯说的那样,这是一个日食。对我来说,当我尝试使用 android 3 或更高版本进行预览时会发生这种情况。 在这里查看答案 [Google Maps Failed to find style 'mapViewStyle' in current theme][1] [1]: ***.com/a/16975627/1979347 【参考方案1】:

当我尝试按照Android MapView tutorial 构建一个简单的应用程序时,我遇到了同样的问题。

应用程序在 AVD 中为文件文件 main.xml 显示此异常:

在当前主题中找不到样式“mapViewStyle”

最后发现AndroidManifest.xml文件有错误:

元素<uses-library android:name="com.google.android.maps" /> 应该是 <application> 元素的子元素,而不是直接在 <manifest> 内。

希望这对您有所帮助。

【讨论】:

对不起,这不是我的解决方案。 这不是修复,我将它作为应用程序元素的子元素。【参考方案2】:

为了它的价值......

    我的经验是我在 UI 设计器中得到了这个,但它并没有破坏构建。我认为这是一个 Eclipse / Android SDK 错误。

    在我将 SDK 升级到版本 20 之前,我的应用在商店中一直运行良好。这让我相信这与 SDK 有关。

    在我找到的这个问题(和重复)的各种答案中,没有一个有帮助:

    不更改目标 SDK

    不清理和构建

    不手动声明样式


最后,这些问题都是重复的(根据 Ewok 的确认,大部分都是无用的):

Android Google Maps Failed to find style 'mapViewStyle' in current theme Let's solve the "Failed to find style 'mapViewstyle' in current theme" error Google Maps in Android: Failed to find style 'mapViewStyle' in current theme 'Failed to find style mapViewStyle' error persists Android maps:Failed to find style 'mapViewStyle' in current theme Android - Failed to find style 'mapViewStyle' in current theme Android "Failed to find style 'mapViewStyle' in current Theme" error Failed to find style 'mapViewStyle' in current theme

我试图向版主指出这一点,但我被忽略了......

【讨论】:

@ewoks +1 我完全同意 - 这是我试图让版主将这些问题结合起来的尝试 - 它们完全没用。不幸的是,当我将问题标记为重复时,版主不同意。【参考方案3】:

我在创建一个运行良好的谷歌地图视图时遇到了同样的问题,直到我在一个可绘制文件夹中放置一个新的 icon.png 后清理了项目(项目>>清理)。很多时候,清理过程会在顶部程序代码中安装一个 import 语句,它会覆盖项目中的 R.java 文件。解决方案是简单地删除以下导入语句:

导入android.R

在项目保存并重建后没有问题。

【讨论】:

【参考方案4】:

我遇到了同样的问题,结果发现问题是我将应用程序定位到 Google 4.0 API,但在 Manifest 文件中指定了 Android API 10 (2.3.3)。

我将项目的目标从 4.0 更改为 2.3.3 (API 10) 后,效果更好。

【讨论】:

【参考方案5】:

我的回答可能比较晚,但我希望它能解决实际原因,并确保它对那些将来要搜索相同问题的人有所帮助。

这类错误,

1. Android Google Maps Failed to find style 'mapViewStyle' in current theme
2. Failed to find style 'imageButtonStyle' in current theme 
3. Failed to find style 'editTextStyle' in current theme 
4. Failed to find style 'textViewStyle' in current theme 

上面列表中的任何东西都可以,

最终的原因是,

我们为layout 选择了不可用的Theme

这可能是因为,

    所选的themethemes.xml 文件中不可用。 选中的theme属于高版本sdk,但我们当前的目标sdk是低版本。

这个问题大多发生,

    当您复制整个layout 文件并尝试在您的project 中实现它时。 一种。您可能忘记复制themes.xml 文件 湾。你可能有更低的target sdk,原来的layout 用更高的target sdk 创建。

这个问题的解决方案是,

(打开查看Graphical Layout View中的layout文件,并查看右上角。 你的themeslayout 已被选中。)

    所以点击下拉列表theme选择并根据你的项目themestargeted sdk themes选择可用的themes(或) 如果themecustom 之一,如果您需要它,则将themes.xml 文件从您复制layout xml 文件的源复制到您的项目。 (或) 如果themesdk可用theme,如果你需要它,然后根据你选择的theme更改你的target

希望,这可能对某人有所帮助。

【讨论】:

这是您的答案***.com/questions/8513278/… 的精确副本。此问题与themes.xml 无关,因为主题是从Maps API 继承的。【参考方案6】:

这就是我解决这个问题的方法。 我的应用程序中也有谷歌地图,我改变了:

c:\users\manuel\.Android\debug.keystore

使用新创建的密钥(新密钥不起作用)并且错误是:

Failed to find style 'mapViewStyle' in current theme

返回旧密钥后一切正常。 我真的很讨厌为 android 开发它与 Visual Studio 开发相比是一团糟。 这个问题花了我 4 小时...

要重新创建 debug.keystore,请使用 "Debug certificate expired" error in Eclipse Android plugins

【讨论】:

这可能与地图 api 键阻止地图可能工作有关,但与编辑器中 xml 的图形视图损坏但构建工作正常的问题无关。

以上是关于Android Google Maps 无法在当前主题中找到样式“mapViewStyle”的主要内容,如果未能解决你的问题,请参考以下文章

import com.google.android.maps.geopoint 无法解析

com.google.android.gms.maps.MapFragment:无法解析符号“地图”

如何使用 android 手机上的本地 Google Maps .html 文件平移到当前位置?

无法运行 Google Maps Android API Utility Demo

Android Google Maps V2 当前位置 纬度 经度 NullPointerException

Google Maps Android api v2 和当前位置