缺少样式。是否为此布局选择了正确的主题?


163

缺少样式。是否为此布局选择了正确的主题?使用布局上方的“主题”组合框选择其他布局,或修复主题样式引用。无法找到mapViewStyle当前主题的样式。

我尝试了所有可用于解决此问题的解决方案,但似乎无济于事。我已在清单文件中包含库。我什至创建的样式是styles.xml,我也选择了Google Apis构建目标。

有人可以给我解决办法吗?

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/AppTheme"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >


 <com.google.android.maps.MapView
     android:id="@+id/themap"
     style="@style/mapViewStyle"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:apiKey="here i have my key"
     android:clickable="true"
     android:enabled="true" />

  </RelativeLayout>   

这是我的清单片段:

  <uses-library android:name="com.google.android.maps" />

    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Second" />

    <activity android:name=".Third"  android:theme="@android:style/Theme.Black"/>
  </application>

这是我的style.xml文件

<resources>
    <style name="mapViewStyle" parent="@android:style/Theme.Black">
    </style>
</resources>

确定不是@style/AppTheme您想念的吗?
Blundell 2012年

感谢您的回复,我是Android开发的新手。它没有解决问题。我添加了AppTheme,但仍然遇到相同的错误。我将整个应用程序的主题更改为Theme.Light,这样就不会再有冲突了。但是问题仍然存在!!!我不知道如何克服这个问题。

当我运行该应用程序时,它可以正常运行直到第二个活动,但是在显示地图的活动中,它显示“不幸的是,您的应用已停止”

@DebeshAdhikari如果您的问题已解决,请考虑接受能帮助您解决问题的答案
sachinjain024

更改minSDKVersiontargetSdkVersionbuild.gradle文件为我工作。
rupinderjeet '16

Answers:


152

对于Android Studio(或IntelliJ IDEA),

如果项目中的所有内容看起来都不错,而您的布局仍然收到错误,请尝试“使缓存无效并重新启动”。

在Android Studio重新创建缓存和索引的同时享用咖啡。

如何使缓存无效并重新启动


1
谢谢。对我来说,当我从13.0.3升级到13.1.4时,在IntelliJ IDEA中发生了错误,此问题已得到修复。
RenniePet 2014年

1
Thnx,Android Studio的新手,在搜索此答案时,我发现您的正是我所需要的。
Ali Ansari 2014年

谢谢,这解决了我的问题在Android工作室1.0 RC 2,Windows 7的
Sabuncu

这对我有用,运行Android Studio 1.0.2,Mac OS X 10.9
yiwei 2014年

适用于Mac上的Android Studio。
mdgrech 2015年

151

我遇到了同样的问题,发现它是图形布局编辑器顶部的“主题”下拉列表。我从Holo更改为Theme,显示了布局,错误消失了。


非常感谢,这对您
有所

19
我将其从“应用主题”更改为“应用兼容”,并为我修复了该问题。顺便说一句:炉排非常适合防止小猫被扫入下水道。
B. Clay Shannon

您的答案对我有用。我检查主题风格,然后在布局中选择它:)
史蒂夫(Steve)

谢谢!这个对我有用。我选择了“ Holo.Light.NoActionBar”
Andrew Grow

14

我最常做的是:一Gradle CleanRebuildSync all my Gradle files。之后,我使用restart Android Studio,然后转到:

Select Theme -> Project Themes -> AppTheme


7

如果我们有时会使用Android Studio创建太多项目,则会出现渲染问题。即使创建空白活动,我们也会收到此类渲染错误。请关闭并重新启动Android Studio。如果问题仍然存在,您可以Android Studio缓存无效并重新启动

希望这可以帮助。它的工作原理与经验法则类似,以防万一看起来仍然不错并且错误仍然存​​在,重新启动应用程序通常可以解决问题。


4

就我而言,在Designer中将Android版本的默认设置设置为“预览N”时出现了问题。将Android版本更改为“ 23”,错误通知消失了。
编辑
别忘了取消选中“自动选择最佳”。


2

使用Android Studio 1.5.1时遇到相同的问题。

通过使用Android SDK Manager和更新Android支持库以及支持库的本地Maven存储,可以解决此问题。

在此处输入图片说明

更新SDK并重新启动 Android Studio之后,此问题已得到纠正。

希望这对尝试其他建议后遇到相同问题的人有所帮助。


我没有尝试任何其他建议,而是继续使用该建议,并且在更新SDK之后重新启动Android Studio之后,我的预览呈现为无错误。
xpagesbeast

2

我通过更改build.gradles中“ dependencies”中的“ classpath”解决了该问题。

只是改变:

dependencies {
    classpath 'com.android.tools.build:gradle:2.3.0-alpha2'

或类似的东西:

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'

1

在覆盖这样的操作栏样式后,出现此错误。我也失去了预览中的操作栏。

<style name="general_app_theme" parent="@style/Theme.AppCompat">
    <!-- for API level 11 -->
    <item name="android:actionBarStyle">@style/action_bar_style</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/action_bar_style</item>

</style>

<style name="action_bar_style" parent="@style/Widget.AppCompat.ActionBar">
    <!-- for API level 11 -->
    <item name="android:height">@dimen/action_bar_height</item>
    <item name="android:background">@color/action_bar_color</item>
    <item name="android:displayOptions">showTitle</item>

    <!-- Support library compatibility -->
    <item name="displayOptions">showTitle</item>
</style>

因此,问题是我的习惯压倒了主题。这就是为什么我将AppCompat(从“项目主题”)更改为general_app_theme(从“清单主题”)的原因。现在,我没有此错误,预览中的操作栏又回来了。


1

尝试将设计视图中的主题切换到“清单主题”中的选项之一。我猜这是因为您要从清单继承主题以支持多个api级别。无论如何,它对我有用。


1

参考@Benno提供的答案:无需更改为特定主题,只需从主题菜单中选择“ DeviceDefault”即可。这应该选择与仿真设备最兼容的主题。


1

如果在尝试上述所有解决方案后仍然遇到问题,请尝试如下所示修改API级别。错误的API级别也可能导致问题。

在此处输入图片说明


1

可以通过将styles.xml中的主题从Theme.AppCompat.Light.DarkActionBar 更改为Base.Theme.AppCompat.Light.DarkActionBar进行修复。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

清理项目。肯定会有所帮助。


0

XML中的大多数错误都是由于您为资源指定的名称而发生的。

需要以适当的方式命名存储在可绘制文件夹中的图像。只需检查以下内容:

  1. 是否有重复的文件?如果是这样,请删除重复项。(例如"image.jpg""image.png"并且不允许同时使用。它不会显示任何错误,但有时会显示R.java无法解析)
  2. 文件名是否包含大写字母?如果是这样,请右键单击该file-> refactor-> rename 并使用所有小写字母将其重命名,不要使用连字符,并且只能使用az和0-9。

只要确保上述情况即可。


0

我使用Holo.Light作为其父项的自定义主题遇到了同样的问题。Android Studio以灰色文本指示缺少某些属性。当我按如下所示添加这些缺少的属性时,渲染问题就消失了-

    <item name="android:textEditSuggestionItemLayout"></item>
    <item name="android:textEditSuggestionContainerLayout"></item>
    <item name="android:textEditSuggestionHighlightStyle"></item>

即使他们在我的样式主题中引入了错误,但在呈现活动设计或构建我的应用程序时都没有造成任何问题。


1
我讲得太早了-屏幕显示良好;但是,我在“容器和样式”行中收到“找不到资源”。敬请关注。
Earl Allen

显然,android.'theme.Holo.Light'的父主题缺少这些属性,并且没有文档可以找到它们。我通过切换到“ android.theme.Holo”主题解决了我的问题。
Earl Allen

0

您只需通过更改“应用主题”并选择任何主题(例如浅色)即可消除此错误。该错误将被删除。


0

我遇到同样的问题,在预览中选择另一个主题可以暂时解决问题。喜欢图片

最后,我发现styles.xml中有AppThemeAppBaseTheme。并且AppTheme有父母 AppBaseTheme。该 AppBaseTheme有一个系统的风格父母。

每个布局文件都使用主题AppTheme。只需将AppTheme的父级更改为AppBaseTheme的父级即可。它永久解决问题。



0

对我来说,它是在menu.xml文件上发生的,因为我使用的是android:Theme.Light作为主题,所以我所做的是-

  1. 在名为值-v21的res目录中添加了新文件夹。

  2. 在中将android:Theme.Material.Light添加为AppTheme styles.xml


0

这已经很晚了,但是我想和我分享这个问题。我在Android Studio中也遇到了同样的问题,我尝试了其他一些在互联网上找到的解决方案,但没有任何解决方案,除非我重新构建该项目并解决了我的问题。

希望这也对您有用。

快乐的编码。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.