When O click on this spinner it gives a big dropdown:
Follow these steps. I have already implemented this.
(1) Do not use spinner. Instead use a button with background set to "@android:drawable/btn_dropdown". This button will look exactly same as native spinner. If you want it to look any different use your own resource.
(2) You need to override dialog class and invoke it on button click. In the constructor of the extended Dialog class, you can use your own layout resource.
this.setContentView(R.layout.dropdownlist);
You can also change window look and feel using following code
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.width = dlgWidth;
lp.height = dlgHeight;
lp.dimAmount = 0;
getWindow().setAttributes(lp);
getWindow().setBackgroundDrawableResource(mBackgroundResId);
(3) You can have a list view in your custom layout and on "OnItemClickListener" of the list, dismiss the dialog and do what you need to do further.
I hope this helps.