Material design: 在当前主题中找不到样式 'toolbarStyle'。
Material design: 在当前主题中找不到样式 'toolbarStyle'。
我正在使用Theme.Material.Light.NoActionBar
主题学习材料设计。我正在尝试根据这个教程在这里向我的Activity添加一个工具栏。
style.xml
v21\style.xml
tool_bar.xml
build.gradle
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' }
但是我遇到了这个渲染问题
缺少样式。是否为此布局选择了正确的主题?使用布局上方的主题组合框选择其他布局,或修复主题样式引用。
未能在当前主题中找到样式'toolbarStyle'
到目前为止,我尝试过的一切都没有起作用
- 刷新布局。
- 将Android Studio更新到最新版本
2.2.2
并安装了右上角弹出窗口中推荐的所有内容。 - 点击
文件>无效缓存/重启
。 - 将预览窗口中的
编辑器API版本
更改为21
、22
、23
、24
和25
-我无法尝试低于21的版本(这是材料设计的要求/或者我理解错了吗?)-。 - 将预览窗口中的
主题
更改为NoActionBar
材料主题和AppTheme
-由于无法查看材料元素如卡片等等,将其更改为AppCompat
主题没有用处-。 - 我也尝试将其更改为
AppCompat
,但是当我从主题列表中选择它并按下确定时,它并没有成为选中的主题;预览中选中的主题仍然是AppTheme
。
我还尝试添加了
但是又给了我另一个警告:在当前主题中找不到'?attr/actionBarSize'
。
预览中可能存在的问题是什么,我该如何解决。
另一个问题,据我所了解,AppCompat
主题并不包含所有Material
主题的功能。为什么其他人会使用它来解决预览的问题,甚至在v21\style.xml
文件中添加对它的引用,而不是引用Material
主题中存在的Toolbar
呢?
(Material design: Failed to find style 'toolbarStyle' in current theme)这个问题的出现的原因是在布局文件中使用了一个错误的主题引用。解决方法是将错误的主题引用替换为正确的主题引用。
具体来说,在给定的布局文件中,错误的主题引用是`android:theme="/ThemeOverlay.AppCompat.Dark.ActionBar"`和`app:popupTheme="/ThemeOverlay.AppCompat.Light"`。正确的主题引用应该是`android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"`和`app:popupTheme="@style/ThemeOverlay.AppCompat.Light"`。
以下是修复后的布局文件代码:
修复后的布局文件中,将错误的主题引用替换为正确的主题引用,即将`/`改为`@style/`。
通过这个修复,该问题应该得到解决。