2014-12-05 36 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

相關問題