我正在创建一个使用谷歌地图的应用程序。但是在我的xml中,我得到了错误“在当前主题中找不到样式'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>
答案 0 :(得分:24)
我的回答可能是迟到的,但我希望它能解决实际原因,并确保它可能对那些将来会搜索同一问题的人有所帮助。
此类错误,
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
可能是以上列表中的任何内容,
最终的原因是,
我们为Theme
选择了不可用的layout
。
这可能是因为,
theme
文件中未提供所选的themes.xml
。theme
属于更高版本sdk
,但我们当前的目标sdk
较低。这个问题大多发生,
layout
文件并尝试在project
中实施时。
一个。您可能忘记复制themes.xml
文件
湾您的target sdk
可能较低,layout
的原始target sdk
可能较高layout
。此问题的解决方案是,
(打开和查看 Graphical Layout View
中的themes
文件,然后查看右上角。
已经选择了layout
theme
。
themes
选择的下拉列表,然后根据您的项目themes
和targeted sdk themes
选择可用的theme
。
的(OR)强> custom
是themes.xml
,如果您需要,请将layout xml
文件从您复制theme
文件的源复制到项目中。
的(OR)强> sdk
theme
有效target
,如果您需要,请根据您选择的theme
更改{{1}}。希望,这对某些人可能有帮助。
答案 1 :(得分:2)
不确定原因,但如果添加显式样式并在/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 真的想要声明某种样式。
答案 2 :(得分:2)
这些错误的另一个原因可能实际上是内部日食错误。
在这种情况下解决它的是:
通常值得一试(特别是当你遇到这个错误&#34;突然出现&#34;),因为它不需要花费很多时间。虽然OP可能不是这样,但这仍然可以帮助其他人搜索。
答案 3 :(得分:1)
您只需将Android 2.2更改为Android 3.0, 并且还提供id和用户权限以及应用程序的子项
答案 4 :(得分:1)
每个Android主题都不适合所有类型的视图。因此,我们应该为我们的视图类型选择一个合适的主题。
以下是问题的解决方法
如果主题不合适,它将给我们缺少样式错误。
2.为您的观点选择主题
3.选择主题后,按确定。
如果主题适合您的视图,如果没有,则会渲染,然后选择另一个主题并尝试直到找到适合您应用的主题。
每当您的主题合适时,它将呈现如下图所示。
答案 5 :(得分:0)
如果您在图形布局上使用Android 3.0及更高版本。尝试将其更改为Android 2.2或2.3。
答案 6 :(得分:0)
由于mapViewStyle缺少某些图标或属性,因此发生此错误。如果您曾经在Android设备上应用任何自定义主题,那么您可能会遇到错误,如“缺少资产”或“主题编辑不当”等。这些错误是由于缺乏而产生的用于手机的每个外观的图标或布局,如按钮,菜单,状态栏等。
与mapViewStyle类似。在项目创建期间,您可能已为应用程序选择了默认主题。这个主题缺少mapViewStyle的某些组件,例如按钮图标或样式(只是给出了想法,我不知道这是不是真的)。我想你可能已经理解了这一点。
现在要删除错误,请转到res>values>styles.xml
删除上一个主题行并将其放入
<style name="AppBaseTheme" parent="android:Theme.Light">
上面的示例只是为了让您了解并广泛了解问题。我并未声明这是100%真实。
如果此答案有用,请将其标记为有用。
答案 7 :(得分:0)
确保您已在res下的不同值文件夹下的所有其他styles.xml中添加了自定义主题部分。
我有类似的问题。在我的情况下,我在res下的values-large
文件夹中添加了一个自定义主题。它在运行时工作,但在eclipse中给出错误。
所以我尝试在所有其他styles.xml文件中添加自定义部分(在我的情况下,总共有3个标签添加到styles.xml文件中)。即values-normal-hdpi
,values-normal-mdpi
,valuse-v11
和values-v14
下的styles.xml文件...和BOOM !!!
它解决了我整天浪费的问题。
答案 8 :(得分:0)
确保您在不同值下显示的所有其他styles.xml包含您的自定义主题部分。
我有类似的问题。
在我的情况下,我在res下的values-large
文件夹中添加了一个自定义主题。
它在运行时工作,但在eclipse中给出错误。
所以我尝试在所有其他styles.xml文件中添加自定义部分(在我的情况下,总共有3个标签添加到styles.xml文件中)。即values-normal-hdpi
,values-normal-mdpi
,valuse-v11
和values-v14
下的styles.xml文件......
和BOOM !!!它解决了我整天浪费的问题。
答案 9 :(得分:0)
虽然我确信这对每个人都不起作用,但对我来说,我只是将预览窗口中的主题更改为 Theme.AppCompat.Light 。
在某些情况下,似乎只是设置正确的主题是解决方案。所有这些选择中的哪一个主题?首先考虑兼容性主题;祝你好运!
答案 10 :(得分:0)
通过单击预览上的刷新按钮刷新xml布局或关闭xml然后再次打开它修复我的问题