2012-07-06 14 views
5

Ich baue eine App, die ein paar Themen für ihre Aktivitäten verwendet. Sie funktionieren alle gut und auf Handys mit Pre-ICS-Versionen von Android, aber aus irgendeinem Grund, wenn ich die Themen auf einem Galaxy Nexus (mit 4.1) und einem Nexus S (mit 4.0.4) anwenden, ist der Hintergrund immer schwarz.Themen, die scheinbar in ICS ignoriert werden

Hier ist eines der Themen, ich verwende das nicht funktioniert:

<style name="BlueStyle" parent="@android:style/Theme.Holo.NoActionBar"> 
    <item name="android:background">@color/Blue</item> 
    <item name="android:textColor">@android:color/white</item> 
    <item name="android:textSize">16dip</item> 
</style> 

Die blaue Farbe in meinem res/values/colors.xml definiert ist. Das Thema ist in res/values-v11/styles.xml und ist wie so in meinem Manifest verwiesen:

<activity 
     android:name=".activity.SplashActivity" 
     android:theme="@style/BlueStyle" 
     android:configChanges="orientation|keyboardHidden|screenSize"/> 

Und wie ich schon sagte, ein ähnliches Thema (unter res/values, mit @android:style/Theme.NoTitleBar als Mutter) funktioniert gut für die gleiche Aktivität in auf Pre-ICS Versionen von Android. Auch wenn ich in die Layout-Datei gehe und den Hintergrund des Layouts @color/Blue mache, wird es immer noch schwarz sein, wenn ich das Thema der Aktivität zugewiesen habe. Ich habe jedoch festgestellt, dass, wenn ich das Thema auf @android:style/Theme.NoTitleBar setze, die Aktivität die blaue Farbe verwenden wird, die ich in der Layout-Datei erzwungen habe.

Ich habe auch versucht, BlueStyle als das Thema für die gesamte Anwendung einzustellen, aber es macht keinen Unterschied.

Hat sonst jemand dieses Problem schon einmal erlebt? Dies ist das erste Mal, dass ich versuche, sowohl die Themen vor V11 als auch V11 + zu unterstützen, sodass ich einen wirklich offensichtlichen Fehler machen könnte.

Bearbeiten: Auch vergessen zu erwähnen, dass ich die blaue Farbe für einen Bruchteil einer Sekunde sehen, wenn meine Aktivität beginnt, aber dann wird der Hintergrund schwarz. Nicht sicher, ob diese Information hilft.

Edit # 2: Ich habe auch gerade auf einem Galaxy Tab 10.1 läuft 3.2 getestet und es hat das Problem auch.

Antwort

1

Vom Aussehen der Dinge, theming Aktivitäten ist einfach nur in Waben und oben gebrochen. Ich "löste" mein Problem, indem ich aktivitätsspezifische Themen löschte und die Stile stattdessen zu meinen Layoutdateien hinzufügte.

Wenn Sie auf dieses Problem stoßen, sollten Sie sicherstellen, dass Sie die Designs aus den Aktivitäten in Ihrer AndroidManifest.xml entfernen, bevor Sie sie auf Ihre Layouts anwenden. Andernfalls wird das Problem weiterhin bestehen.

-1

In der .xml ist das Theme-Layout im oberen Teil der Theme-Option ausgewählt. Wählen Sie auch die Drop-Down-Box und klicken Sie auf Öffnen dann Deklaration und überprüfen Sie, ob Xml genau dort ist sowie in der Android-Amnifest.

Ich bemerkte, dass, selbst wenn ich die Stile aus irgendeinem Grund änderte, sie sofort akzeptieren würde, musste ich sie mehrmals speichern.

+0

Ich habe keine Themen auf der tatsächlichen Layout-Datei oder irgendwelche Ansichten im Layout festgelegt. Ich habe nur Themen auf der Aktivitätsebene im Manifest festgelegt. Sowohl die Manifest- als auch die Layout-XML-Dateien sehen gut aus, und das Layout-XML ist eigentlich sehr einfach (nur ein LinearLayout mit einem ImageView). Ich habe das Projekt gereinigt, Eclipse neu gestartet und neu gestartet, und es hat keinen Unterschied gemacht. – BigFwoosh

+0

haben Sie tryried das Hinzufügen zum eigentlichen Layout-Element im Layout-Ordner style = "@ style/BlueStyle" –

+0

Ich habe das versucht und es hatte keine Wirkung. – BigFwoosh

Verwandte Themen