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

时间:2012-11-18 10:56:13

标签: android

  

缺少样式。是否为此布局选择了正确的主题?使用布局上方的主题组合框选择不同的布局,或修复主题样式引用。无法在当前主题中找到样式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>

22 个答案:

答案 0 :(得分:150)

对于Android Studio(或IntelliJ IDEA),

如果项目中的所有内容都显示正常,并且您仍然在布局中收到错误,请尝试“使缓存无效”。重启”。

享受咖啡,而Android Studio正在重新创建缓存&amp;索引。

how to invalidate cache & restart

答案 1 :(得分:150)

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

答案 2 :(得分:14)

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

Select Theme -> Project Themes -> AppTheme

答案 3 :(得分:13)

错误图片:

Error Image http://oi57.tinypic.com/549aig.jpg

分辨率图片:

Solution Image http://oi61.tinypic.com/21doew0.jpg

如果您不正确地创建样式或从现有样式创建样式,通常会出现此问题。因此,选择“图形布局”选择“AppTheme” - &gt;带有蓝色星标的选项卡。并选择任何预定义的样式。在我的情况下,“光”应解决问题。

答案 4 :(得分:9)

这是因为您选择的不是项目的主题。尝试下一步:

enter image description here

答案 5 :(得分:6)

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

希望这会有所帮助。它的工作方式与经验法则相似,如果一切看起来都很好并且仍然存在错误,应用程序的重启通常可以解决问题。

答案 6 :(得分:4)

在我的情况下,当Designer中的Android版本的默认设置设置为&#39;预览N&#39;时出现问题。将Android版本更改为&#39; 23&#39;并且错误通知消失了 修改
不要忘记取消选中&#39;自动选择最佳状态&#39;

答案 7 :(得分:2)

我通过更改&#34; classpath&#34;解决了这个问题。 in&#34;依赖&#34;在build.gradles中。

只需改变:

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

或类似的东西:

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

答案 8 :(得分:2)

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

这是通过使用Android SDK Manager并更新 Android支持库以及支持库的本地Maven存储库来解决的。

enter image description here

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

希望这可以帮助那些在尝试其他建议后遇到同样问题的人。

答案 9 :(得分:1)

如果在尝试上述所有解决方案后仍有问题,请尝试修改API级别,如下所示。 API级别不正确也可能导致问题。

enter image description here

答案 10 :(得分: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>

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

答案 11 :(得分:1)

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

答案 12 :(得分:1)

尝试将设计视图中的主题切换为&#34; Manifest Themes&#34;中的一个选项。我猜这是因为你从清单继承主题以支持多个api级别。无论如何它对我有用。

答案 13 :(得分: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(从“Project Themes”)改为general_app_theme(来自“Manifest Themes”)的原因。现在我没有这个错误,预览中的操作栏会回来。

答案 14 :(得分:0)

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

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

尽管他们在我的风格主题中引入了错误,但它们在渲染活动设计或构建我的应用时没有造成任何问题。

答案 15 :(得分:0)

您可以通过更改“应用主题”来删除此错误,然后选择任何主题,例如灯光。此错误将被删除。

答案 16 :(得分:0)

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

存储在drawable文件夹中的图像需要以适当的方式命名。 只需检查一下这些:

  1. 有没有重复的文件?如果是这样,删除重复项。 (例如,"image.jpg""image.png"不允许在同一时间。它不会显示任何错误,但有时会显示R.java无法解析)
  2. 文件名是否包含任何大写字母?如果是,请右键点击file - &gt; refactor - &gt; rename 并使用全小写,无连字符重命名,并且只允许使用a-z和0-9。
  3. 确保上述情况。

答案 17 :(得分:0)

我遇到同样的问题。在预览中选择主题到另一个可以解决临时问题。Like the image

最后,我发现我的styles.xml中有AppThemeAppBaseThemeAppTheme有父AppBaseThemeAppBaseTheme具有一种系统样式的父级。

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

答案 18 :(得分:0)

只需点击按钮&#39; AppTheme &#39;,然后选择&#39; Manifest Themes &#39;。它适用于大多数情况。

答案 19 :(得分:0)

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

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

  2. styles.xml中添加 android:Theme.Material.Light 作为AppTheme。

答案 20 :(得分:0)

这已经很晚了,但我想分享一下同样的问题。 我在Android工作室遇到同样的问题我尝试了其他一些我在互联网上找到的解决方案,但没有什么对我有用,除非我重建项目并解决了我的问题。

希望这也适合你。

快乐的编码。

答案 21 :(得分:0)

将您的App主题更改为AppCombat .. enter image description here