自从我尝试向我的应用程序添加主题以来,我遇到了一个问题。目前我只是使用主题来改变屏幕的背景颜色。问题是,除了屏幕更改为主题颜色的背景外,微调控件中文本的背景也会更改为该颜色。显示下拉菜单时,微调控件将被块背景颜色替换。
主题定义如下:
<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天,所以任何提示都会感激地回复
答案 0 :(得分:5)
检查此答案:Changing background color for items of Spinner。无论你的主题背景是什么,你都可以设置你的微调器背景来覆盖它。
您可以从代码
开始yourView.setBackgroundColor(int color)
或者,来自xml
<Spinner android:id="@+id/spinner"
...
android:background="#YOUR_HEXA_COLOR"/>