或者我可能理解错了?欢迎任何建议。先谢谢了。android:Theme.Material.Light需要API级别21(当前最小值为8)。
或者我可能理解错了?欢迎任何建议。先谢谢了。android:Theme.Material.Light需要API级别21(当前最小值为8)。
为此,您需要拥有2个values文件夹。
一个是默认存在的,另一个则需要在res文件夹中创建,并将其命名为values-v21。
在默认的values文件夹中的styles.xml文件中,使用不同于Material主题的主题。 而在您创建的values-v21文件夹中的styles.xml文件中,则使用Material主题。
Android手机将自动选择它支持的styles.xml文件。如果该手机支持Material Design(Lollipop设备),则您的应用程序将使用Material主题(values-21文件夹)。
如果不支持(在运行旧版Android的手机上),则将使用默认的values文件夹。
要获得 Material Design 的效果,您需要使用 android:theme="@style/Theme.AppCompat.Light"
主题。
请确保您的最小 SDK 版本为 8,目标 SDK 版本为 21,并且您正在使用构建工具/SDK 版本 21。
Pedro Oliveira is right关于Theme.AppCompat
的问题,但该回答中缺少一些重要信息。
由Android团队的Chris Banes撰写的博客文章appcompat v21: material design for pre-Lollipop devices!或许最能回答如何在API 21之前的版本中获得Material主题的问题。
总结一下,您需要appcompat-v7
依赖项:
dependencies {
...
compile "com.android.support:appcompat-v7:21.0.3"
}
接下来,如果您要使用深色主题作为基础主题,请使用:
```css /* Dark Theme */ :root { --text-color: #f2f2f2; --bg-color: #222; } ```<style name="AppTheme" parent="Theme.AppCompat">
</style>
同时提供轻量版:
<style name="AppTheme" parent="Theme.AppCompat.Light">
</style>
如果您是AppCompat的新手,那么有些事情您需要知道,例如:
您的所有活动都必须从
ActionBarActivity*继承。它继承了来自v4支持库的FragmentActivity,因此您可以继续使用片段。
*注意:最近,ActionBarActivity已被弃用,取而代之的是AppCompatActivity。
但您真的应该阅读该博客文章的整个设置部分!(工具栏与操作栏的信息以及某些评论也是您可能不想错过的内容。)
import android.support.v7.widget.Toolbar;
评论上一个:
//import android.widget.Toolbar;
有了这个,问题就解决了。