我使用<?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
API version in editor
,并在右上方的弹出窗口中安装了我推荐的所有内容。21
。22
更改为23
,24
,25
,Theme in editor
和NoActionBar
- 我可以&#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}}?
答案 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页面或其他任何内容的变化。