2013-07-08 96 views
1

我有一些麻煩,爲薑餅或舊版本的android提供不同的樣式資源。Android爲Gingebread提供樣式資源

我已經定義了2個不同的風格頁面。正常的樣式和樣式-V11。 對於android 3.0和UP工作得很好,一切都OK。我的問題是,當我嘗試薑餅它只是忽略了風格的變化。

樣式:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- 
     Styles for v1 to v10 
    --> 
    <style name="AppBaseTheme" parent="android:Theme.Light"></style> 

    <style name="DarkTheme" parent="android:Theme"></style> 

    <style name="Performance" parent="android:Theme"></style> 

    <style name="LightTheme" parent="android:Theme.Light"></style> 

    <style name="ColorsTheme" parent="android:Theme.Holo"></style> 

    <style name="OsuTheme" parent="android:Theme.Light"></style> 

    <style name="BrazilTheme" parent="android:Theme"></style> 

    <style name="NeonTheme" parent="android:Theme"> 
     <item name="android:windowBackground">@android:color/black</item> 
    </style> 
</resources> 

樣式,V11:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- 
     Styles v11 
    --> 
    <style name="AppBaseTheme" parent="android:Theme.Light"></style> 

    <style name="DarkTheme" parent="android:Theme.Holo"></style> 

    <style name="Performance" parent="android:Theme.Holo"></style> 

    <style name="LightTheme" parent="android:Theme.Holo.Light"></style> 

    <style name="ColorsTheme" parent="android:Theme.Holo"></style> 

    <style name="OsuTheme" parent="android:Theme.Holo.Light"></style> 

    <style name="BrazilTheme" parent="android:Theme.Holo"></style> 

    <style name="NeonTheme" parent="android:Theme.Holo"> 
     <item name="android:windowBackground">@android:color/black</item> 
    </style> 

</resources> 

我的應用程序有一個設置,以檢查其主題是積極的。

switch (ThemesActivity.newTheme) { 
    case ThemesActivity.THEME_DARK: 
     setTheme(R.style.DarkTheme); 
     setContentView(R.layout.activity_main_dark); 
     break; 
    case ThemesActivity.THEME_LIGHT: 
     setTheme(R.style.LightTheme); 
     setContentView(R.layout.activity_main_light); 
     break; 
    case ThemesActivity.THEME_COLORS: 
     setTheme(R.style.ColorsTheme); 
     setContentView(R.layout.activity_main_colors); 
     break; 
    case ThemesActivity.THEME_NEON: 
     setTheme(R.style.NeonTheme); 
     setContentView(R.layout.activity_main_neon); 
     break; 
    case ThemesActivity.THEME_PERF: 
     setTheme(R.style.Performance); 
     setContentView(R.layout.activity_main_performance); 
     break; 
    case ThemesActivity.THEME_OSU: 
     setTheme(R.style.OsuTheme); 
     setContentView(R.layout.activity_main_osu); 
     break; 
    case ThemesActivity.THEME_BRAZIL: 
     setTheme(R.style.BrazilTheme); 
     setContentView(R.layout.activity_main_brazil); 
     break; 
    default: 
     setTheme(R.style.DarkTheme); 
     setContentView(R.layout.activity_main_dark); 
     break; 
    } 

問題是沒有關係薑餅哪個主題是活躍的!總是加載默認的應用主題:(

我無法弄清楚什麼是對錯,爲什麼主題變化不是舊版本的工作打算

非常感謝您

編輯。:

我已經試過也在使用:

<style name="OsuTheme" parent="@android:style/Theme.Light"></style> 

還是一樣:(主題在運行時不改變,它只是如果我設置爲主題的manif改變美東時間。

在清單上主題工作罰款,問題是當我嘗試在運行時更改它。

回答

1
<style name="LightTheme" parent="android:Theme.Light"></style> 

<style name="ColorsTheme" parent="android:Theme.Holo"></style> 

主要的問題是,薑餅只是沒有你擴展主題的風格資源。這就是爲什麼它加載默認資源。

+0

但薑餅上「光」主題的樣式定義是什麼?我試圖找到一些關於這方面的信息和失敗,並在那一部分沒有從日食暗示:( 我可以使用清單上的「Theme.Light」,並作爲應用程序的默認主題,但仍然不認識當我使用它時主題變化:( –

+0

我也從https://github.com/Prototik/HoloEverywhere獲得了圖書館「HoloEverywhere」,但是很混亂!我不知道該如何使用它,文檔是方式太難以理解。 –