材料设计:找不到样式&toolbarStyle'在当前主题

时间:2016-11-18 21:04:18

标签: android material-design android-toolbar android-theme android-styles

我使用<?xml version="1.0" encoding="utf-8"?> <resources> <!-- Base application theme. --> <style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="android:colorPrimary">@color/colorPrimary</item> <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:colorAccent">@color/colorAccent</item> <item name="toolbarStyle">@style/Widget.AppCompat.Toolbar</item> </style> </resources> 主题学习材料设计。我正在尝试按照教程here向我的活动添加工具栏。

style.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/colorPrimary"
    android:elevation="4dp">

</android.support.v7.widget.Toolbar>

V21 \ style.xml

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:support-v4:24.2.1'
    compile 'com.android.support:recyclerview-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    testCompile 'junit:junit:4.12'
}

tool_bar.xml

Rendering Problem

的build.gradle

Missing styles. Is the correct theme chosen for this layout?  Use the Theme combo box above the layout to choose a different layout, or fix the theme style references.

Failed to find style 'toolbarStyle' in current theme

但我得到了2.2.2

File>Invalidate caches/restart

enter image description here

到目前为止我尝试过的所有事情都没有用到

  • 刷新布局。
  • 将android studio更新为最新版本API version in editor,并在右上方的弹出窗口中安装了我推荐的所有内容。
  • 点击21
  • 将预览窗口中的22更改为232425Theme in editorNoActionBar - 我可以&#39;尝试预览少于21的版本(材料设计要求/或我错了???) - 。
  • 将预览窗口中的AppTheme更改为AppCompat素材主题,并更改为AppCompat - 无需将其更改为AppTheme主题我无法查看卡片等材料元素 - 。
  • 我也尝试将其更改为<item name="toolbarStyle">@style/Widget.AppCompat.Toolbar</item>,但是当我从主题列表中选择并按下确定时,它不会成为所选的; Failed to find '?attr/actionBarSize' in current theme成为预览的选定主题。

我还尝试添加AppCompat,但它又给了我一个警告:Material

预览中的问题是什么,以及如何解决它 另一个问题,据我所知,直到现在,Toolbar主题并未包含Material主题的所有功能。为什么其他人use it to solve the problem of preview甚至add a reference to it in the v21\style.xml file而不是引用{{1}}主题中存在的{{1}}?

2 个答案:

答案 0 :(得分:0)

试试这个

<android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>

答案 1 :(得分:0)

您有两个或两个样式主题具有相同的名称。

您必须将其中一个更改为其他名称,例如,name =&#34; CustomTheme&#34;或者&#34; myTheme&#34;或者你想要什么。

另一方面,当您从这些教程中学习时,请务必检查您的Android Studio版本。事情正在快速更新,所以找出Android Dev页面或其他任何内容的变化。