Android Spinner文本背景颜色和主题

时间:2011-05-17 19:20:10

标签: android android-layout

自从我尝试向我的应用程序添加主题以来,我遇到了一个问题。目前我只是使用主题来改变屏幕的背景颜色。问题是,除了屏幕更改为主题颜色的背景外,微调控件中文本的背景也会更改为该颜色。显示下拉菜单时,微调控件将被块背景颜色替换。

主题定义如下:

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

主题在Activity OnCreate中设置为:

setTheme(R.style.Theme.Yellow);

Spinner设置为:

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

如何停止微调器拾取主题中指定的背景颜色?

我已经在这里待了2天,所以任何提示都会感激地回复

1 个答案:

答案 0 :(得分:5)

检查此答案:Changing background color for items of Spinner。无论你的主题背景是什么,你都可以设置你的微调器背景来覆盖它。

您可以从代码

开始
yourView.setBackgroundColor(int color)

或者,来自xml

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