/ / Android zapewniający zasoby stylów dla Gingebread - java, android, motywy, android-2.3-piernik

Dostarczanie stylów na Androida dla Gingebread - java, android, motywy, android-2.3-pierniki

Mam problemy z udostępnieniem różnych zasobów stylów dla pierników lub starszych wersji Androida.

Zdefiniowałem 2 różne strony stylu. normalne style i style-v11. Dla Androida 3.0 i UP działa dobrze, wszystko jest w porządku. Mój problem polega na tym, że kiedy próbuję piernika, ignoruje zmiany stylu.

Style:

<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>

Styles-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>

Moja aplikacja ma ustawienia umożliwiające sprawdzenie, który motyw jest aktywny.

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;
}

Problem polega na tym, że nie ma znaczenia, który motyw jest aktywny w pierniku! ZAWSZE ładuje domyślny motyw aplikacji :(

Nie mogę zrozumieć, co się dzieje źle i dlaczego zmiana motywu nie działa dla starszych wersji.

Dziękuję Ci bardzo.

edytować:

Próbowałem również użyć:

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

I nadal ten sam :( motyw nie zmienia się w czasie wykonywania, zmienia się tylko, jeśli ustawię motyw w manifeście.

Na manifeście motywy działają grzywny, problem polega na tym, że próbuję go zmienić podczas działania.

Odpowiedzi:

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

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

Głównym problemem jest to, że Gingerbread po prostu nie ma zasobów stylu z rozszerzonych motywów. Dlatego ładuje zasoby domyślne.