2011-05-17 64 views
2

我有一個問題,因爲我試圖添加主題到我的應用程序已經表現出來。目前我只是使用主題來改變屏幕的背景顏色。問題是,除了屏幕更改爲主題顏色的背景以外,微調控件中文本的背景也會更改爲該顏色。顯示下拉菜單時,微調框控件將被塊背景色替換。Android微調器文本背景顏色和主題

的主題定義如下:

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

<style name="Theme.Pink"> 
     <item name="android:background">#ffc0cb</item> 
</style> 

<style name="Theme.Yellow"> 
     <item name="android:background">#FFE97E</item> 
</style> 

主題是在活動OnCreate中設置有:

setTheme(R.style.Theme.Yellow); 

旋轉器設置爲與:

bowAdapter = new SimpleCursorAdapter(this, R.layout.spinner_style, bowCursor, 
       new String[] { DBAdapter.KEY_BOW_NAME }, 
       new int[] { android.R.id.text1 }); 
    bowAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    bowSelectSpinner.setAdapter(bowAdapter); 

spinner_style。 xml包含

<?xml version="1.0" encoding="UTF-8"?> 
<TextView xmlns:android= "http://schemas.android.com/apk/res/android" 
       android:id="@android:id/text1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:textSize="@dimen/but_txt_size" 
     android:textColor="@android:color/white" 
     android:gravity="center" 
     android:ellipsize="marquee" /> 

如何停止微調器拾取主題中指定的背景顏色?

我一直chasung這2天現在這樣任何提示感激REC

回答

5

檢查這個答案:Changing background color for items of Spinner。不管你的主題背景是什麼,你都可以設置你的微調背景來覆蓋它。

你可以這樣做,從代碼:

yourView.setBackgroundColor(int color) 

,或者從XML

<Spinner android:id="@+id/spinner" 
    ... 
    android:background="#YOUR_HEXA_COLOR"/> 
+0

謝謝你提供的,問題是,雖然該文本上的微調控制的背景顏色變設置爲屏幕背景。因此,在標準的灰色陰影微調控件上,我得到一個矩形,與背景顏色相同,並帶有文本,而不是隻顯示透明背景的文本。 – bigbirduk 2011-05-17 19:34:14

+0

然後讓你的背景透明! :)設置它的背景android:color/transparent。 – ferostar 2011-05-17 19:55:05

+0

在回覆'我已經試過'之前,我想我最好檢查一下我的代碼..事實證明,我設置的android:colorBackground沒有任何效果,正確設置背景色已經解決了問題。感謝您指點我正確的方向。 – bigbirduk 2011-05-17 20:07:20