How do I make a Spinner's "disabled" state look disabled?

Don't know if you still need this but there is a way. I've been struggling with this issue myself. I ended up doing something like this:

((Spinner) spinner).getSelectedView().setEnabled(false);
spinner.setEnabled(false);

What this actually does is disable the spinner and the selected item that is shown. Most likely the selected item is a TextView and it should show as a disabled TextView.

I am using this and it works. But for some reason unknown to me it is not as "greyed-out" as other disabled views. It still looks disabled though. Try it out.


One clever way of making spinners look disabled is to lower the transparency.

Spinner spinner = (Spinner) findViewById(R.id.my_spinner);
spinner.setEnabled(false);
spinner.setAlpha(0.5f);

If you're creating an adapter with a custom layout (i.e., extending R.layout.simple_spinner_item), add this attribute to the XML: android:duplicateParentState="true"