1

我创造,我现在用的材料设计components.I一个Android应用程序都使用的材料设计主题(安卓Theme.Material),通过与Android的延长我的风格:Theme.Material。现在如何将android:Theme.Material和Toolbar一起使用?

<style name="MyMaterialTheme.Base" parent="android:Theme.Material.Light"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:navigationBarColor">@color/navigationBarColor</item> 
    <item name="android:displayOptions">disableHome</item> 
</style> 

,问题是,我想使用工具栏还,但我跟很多教程中,我需要有Theme.AppCompat我的母题,如果我想使用的工具栏。

我试着用材料的设计主题,但扔我的错误作为

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity 

所以,我的问题是,我不能使用材料设计主题,工具栏(因为我用卡次数也,故材料设计主题是最好的)?

注:我已经整合了工具栏,使用AppCompact主题,但我只想使用Material Design主题。

回答

2

设置父 “@android:风格/ Theme.Material.Light.NoActionBar”,并在你的活动使用AppCompatActivity。

+0

我使用工具栏AppCompact主题,但我只想使用材料设计主题haveintegrated。 –

+0

好吧然后使用这个父:“@android:风格/ Theme.Material.Light.NoActionBar” –

+0

我想这也是,它仍然抛出同样的错误 –

1

你得到

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity 

因为你ActivityAppCompatActivity延伸,并使用它是强制性的,你的活动主题必须有一个Theme.AppCompat或后代。

您可以在您的活动中使用Toolbar而不是从AppCompatActivity这样post提到。但你仍然需要一个Theme.AppCompat后裔。

顺便说一句。为什么你需要特别的android:Theme.Material

+0

我想申请材料设计的所有功能,这就是为什么我使用物质主题 –

0

您需要在您的清单,更新的主题。

编辑你的主题进入这个样子:

android:theme="@style/Theme.AppCompat" 
相关问题