无法在当前主题中find样式“mapViewStyle”

我正在制作一个使用谷歌地图的应用程序。 但在我的XML中,我得到了错误“无法find当前主题中的样式”mapViewStyle“。 相反,我给了onternet权限,并使用应用程序标签内的谷歌地图库。

有人可以帮我解决这个问题吗?

非常感谢

以下是我的XML文件…

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <com.google.android.maps.MapView android:id="@+id/mapview1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey="0ACHOtlugQlOP_-siR3LLyIBjv1SwpKWimIY8jw" /> </Relativelayout> 

Solutions Collecting From Web of "无法在当前主题中find样式“mapViewStyle”"

我的答案可能是迟到的,但我希望能够解决实际的原因,并且确信这对未来将要search同样问题的人有帮助。

这种types的错误,

 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 

从上面的列表中可以看出,

最终的原因是,

我们已经为layoutselect了不可用的Theme

这可能是因为,

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

这个问题大多发生,

  1. 当您复制整个layout文件并尝试在您的project实现它。 一个。 您可能忘记复制themes.xml文件b。 你可能有更低的target sdk ,更高的target sdk创build的原始layout

解决这个问题的方法是,

(在“ Graphical Layout View 打开查看 layout文件,然后查看右上angular的layout文件,然后selectlayoutthemes 。)

  1. 所以,点击themeselect的下拉列表,并根据您的项目themestargeted sdk themesselect可用的targeted sdk themes(要么)
  2. 如果themecustom theme ,那么如果需要,请将themes.xml文件从复制了layout xml文件的源代码复制到您的项目中。 (要么)
  3. 如果themesdk可用theme ,如果您需要它,然后根据您select的theme更改您的target

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

不知道为什么,但如果你添加一个明确的风格,并定义在/values/styles.xml这个错误将消失。

styles.xml:

 <style name="mapView"> <item name="android:gravity">center</item> </style> 

和布局:

 <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="YOUR_API_KEY" android:visibility="visible" style="@style/mapView" /> 

看起来像com.google.android.maps.MapView 真的想要某种types的声明。

这些错误的另一个原因可能实际上是一个内部的Eclipse错误

在这种情况下,解决这个问题的方法是:

  1. closuresxml布局文件
  2. 重新启动日食(甚至ADT,因为我听说它也发生在那里)

通常是值得一试的(特别是当你遇到这个错误时),因为它不需要很多时间。 尽pipe对于OP来说可能不是这样,但这仍然可以帮助别人search。

您只需要将Android 2.2更改为android 3.0,并且还提供了id和用户权限以及应用程序的子项

每个Android主题都不适合每种types的视图。 因此,我们应该为我们的视图typesselect一个合适的主题。

这是问题的样子
如果主题不适合,它会给我们缺less样式错误。

在这里输入图像说明

这是解决scheme
1.首先select主题栏。
在这里输入图像说明

2.为您的视图select主题

在这里输入图像说明

3.select主题后,按确定。
如果主题适合您的视图,则会呈现,如果不是,则select另一个主题并尝试,直到find适合您的应用程序的主题。
每当你的主题适合它将呈现像下面的图片。 在这里输入图像说明

如果您在graphics布局上使用Android 3.0及更高版本。 尝试将其更改为Android 2.2或2.3。

发生此错误的原因是mapViewStyle缺less一些图标或属性。 如果你曾经在Android设备上应用任何自定义主题,那么你可能会遇到像“缺less资产”“主题不当编译”等错误。这些错误是由于缺乏图标或布局的每一个手机的外观,如button,菜单,状态栏等

类似的情况与mapViewStyle。 在项目创build过程中,您可能已经为应用程序select了一个默认主题。 这个主题缺lessmapViewStyle这样的button图标或样式的某些组件( 只是给出的想法,我不知道这是否是真实的 )。 我想你可能已经明白了这一点。

现在删除错误,进入res>values>styles.xml

删除以前的主题行,把这一个

 <style name="AppBaseTheme" parent="android:Theme.Light"> 

上面的例子只是为了让你理解并给你一个广泛的想法。 我没有说这是100%的事实。

如果这个答案是有用的,那么将其标记为有用。

确保您已将所有其他styles.xml中的自定义主题部分添加到res下的不同值文件夹下。

我有类似的问题。 在我的情况下,我已经添加了一个自定义的主题values-large在res下values-large文件夹。 它在运行时正在工作,但在eclipse中给你错误。 所以我尝试添加自定义部分(在我的情况下,总共有3个标签添加到styles.xml文件)在所有其他styles.xml文件。 即styles.xml下的文件values-normal-hdpivalues-normal-mdpivaluse-v11values-v14 …和BOOM !!! 它解决了我整天浪费的问题。

确保所有其他styles.xml包含您的自定义主题部分。

我有类似的问题。

在我的情况下,我已经添加了一个自定义的主题values-large在res下values-large文件夹。 它在运行时正在工作,但在eclipse中给你错误。

所以我尝试添加自定义部分(在我的情况下,总共有3个标签添加到styles.xml文件)在所有其他styles.xml文件。 即styles.xml下的文件values-normal-hdpivalues-normal-mdpivaluse-v11values-v14

和繁荣! 它解决了我整天浪费的问题。

虽然我确定这不适用于所有人,但是对于我来说,我只是将预览窗口中的主题更改为Theme.AppCompat.Light

主题下拉环绕红色

看来在某些情况下,仅仅设定正确的主题就是解决scheme。 所有这些select中哪个主题? 首先去寻找兼容性主题; 之后,祝你好运!

通过单击预览上的刷新button来刷新xml布局,或者closuresxml然后再次打开它来修复我的问题