Q:

Why do my android spinners look horrible?

I am using the default theme (dark) and a 2.2 / API level 8 target. When I add a basic spinner to my layouts, they look horrible. The text is very hard to read (gray-on-gray) and the arrow looks funny:

If I use the light theme, they look fine. If I look at the android API examples their spinners look fine in the default dark theme:

Why are all my spinners ugly and unreadable? What am I doing wrong?
The simplest possible code will display this way:
  final Spinner mySpinner = (Spinner) findViewById(R.id.mySpinner);
  List<String> list = new ArrayList<String>();
  list.add("foo");
  list.add("bar");
  mySpinner.setAdapter(new ArrayAdapter<String>(MyActivity.this, R.layout.list_item, list));

and layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <Spinner
        android:id="@+id/mySpinner"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"></Spinner>
</LinearLayout> 

A:

I would set the layout_height on the spinner to wrap_content instead of match_parent.  I don't see any code related to setting some of the other options like the adapter, etc so I guess there is some code that is missing.  I'm wondering if the spinner is disabled and why it's grayed out like that.
Ah it could be your background is showing through the control.  Try changing the background color on your LinearLayout see if it's shining through.

