2014-12-05 38 views
0

我从ABS切换到程序兼容性和材料主题(仅用于API 21)动作条没有显示在机器人<5.0

<!--manifest: --> 
<application 
     android:theme="@style/AppStyle" 

<-- values folder --> 
<style name="AppStyle" parent="@style/AudioRecTheme"> 
<style name="AudioRecTheme" parent="@style/Theme.AppCompat.Light"> 

<!-- values-v21 folder--> 
<style name="AudioRecTheme" parent="@android:style/Theme.Material.Light"> 

我的活动:

public class AudioRecActivity extends FragmentActivity 

操作栏是仅示出在Android 5.0,但没有其他缺失。

+0

你是如何运用风格的? – 2014-12-05 12:05:18

回答

6

首先,使用appcompat-v7使用内置主题,而不是同时使用同一个活动。在这里,您尝试在某些情况下使用Theme.AppCompat.Light,在其他情况下使用Theme.Material.Light,这不仅是不必要的,而且AFAIK不起作用。如果您打算使用Theme.AppCompat.Light,请为所有API级别执行此操作。其次,如果您打算使用appcompat-v7Theme.AppCompat.Light,您需要继承ActionBarActivity

+0

我使用appcompat-v7,但我希望主题在v21时继承本机Material风格。 – 2014-12-05 12:04:27

+0

如果我继承了ActionBarActivity,它会在5.0上崩溃,因为我使用Material theme作为棒棒糖 – 2014-12-05 12:05:18

+0

@AlexandruCircus:然后创建两个单独的活动。你不能有一个活动既从'ActionBarActivity'继承,又不从'ActionBarActivity'继承。你需要'ActionBarActivity'作为'appcompat-v7',并且你注意到''Theme.Material。*''不能使用'ActionBarActivity'。 – CommonsWare 2014-12-05 12:06:03

相关问题