2012-07-06 58 views
5

我正在構建一個應用程序,該應用程序爲其活動使用了一些主題。它們在運行ICS前版本Android的手機上都可以正常工作,但由於某些原因,當我在Galaxy Nexus(運行4.1)和Nexus S(運行4.0.4)上應用主題時,背景始終爲黑色。在ICS中似乎被忽略的主題

下面是我使用的是不工作的主題之一:

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

藍色是我res/values/colors.xml定義。主題爲res/values-v11/styles.xml,在我的清單中引用像這樣:

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

就像我說的,一個相似的主題(res/values下,使用@android:style/Theme.NoTitleBar作爲父母)工作正常,在同一活動上預ICS Android版本。即使我進入佈局文件並創建佈局@color/Blue的背景,但如果將主題分配給活動,它仍然是黑色。然而,我發現如果我將主題設置爲@android:style/Theme.NoTitleBar,那麼活動將使用佈局文件中強制的藍色。

我也試過將BlueStyle設置爲整個應用程序的主題,但它沒有區別。

其他人之前遇到過這個問題嗎?這是我第一次嘗試支持pre-v11和v11 +主題,所以我可能會犯一些非常明顯的錯誤。

編輯:也忘了提及,當我的活動開始時,我確實看到藍色的分秒,但隨後背景變黑。不確定這些信息是否有幫助。

編輯#2:我也只是在運行3.2的Galaxy Tab 10.1上測試過,它也有問題。

回答

1

從事物的外觀來看,主題活動在Honeycomb及以上版本中已經被打破。我通過刪除特定於活動的主題並將樣式添加到我的佈局文件中來「解決」了我的問題。

如果遇到此問題,請確保在將AndroidManifest.xml中的活動應用到佈局之前,從主題中刪除主題。否則,問題將會持續。

-1

在.xml中,在主題選項下選擇的頂部的themelayout是什麼。另外選擇下拉框,然後點擊打開,然後聲明並確保xml正確以及在android amnifest中。

我注意到,即使因爲某種原因改變了樣式,它會馬上接受它們,我不得不多次保存它們。

+0

我沒有在佈局中的實際佈局文件或任何視圖上設置任何主題。我只在清單中的Activity級別設置主題。清單和佈局xml文件看起來都很好,佈局xml實際上非常簡單(只是一個帶有ImageView的LinearLayout)。我已經清理了該項目,重新啓動了Eclipse,然後重新啓動,但沒有任何區別。 – BigFwoosh 2012-07-08 00:24:49

+0

你嘗試添加到佈局文件夾中的實際佈局元素style =「@ style/BlueStyle」 – 2012-07-09 19:46:38

+0

我試過了,它沒有效果。 – BigFwoosh 2012-07-11 13:45:45