Android Spinner Dropdown arrow not displaying

This works for me, much simpler as well:

<Spinner
      android:id="@+id/spinner"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:theme="@style/ThemeOverlay.AppCompat.Light"
      android:spinnerMode="dropdown" />

And in your class file:

spinner = (Spinner) view.findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.spinner_data, android.R.layout.simple_spinner_dropdown_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

Hope this helps ;)


Try this one:

<Spinner
     android:id="@+id/spinnPhoneTypes"
     android:layout_width="0dp"
     style="@android:style/Widget.Spinner.DropDown"
     android:layout_height="@dimen/thirtyFive"
     android:layout_marginLeft="10dp"
     android:layout_weight="1"
     android:background="@drawable/shape_drop_down_normal"
     android:gravity="center_vertical" />

shape_drop_down_normal.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape>
            <solid android:color="@android:color/transparent" />

            <stroke
                android:width="1dp"
                android:color="#6f94c7" />

            <padding
                android:bottom="10dp"
                android:left="2dp"
                android:right="10dp"
                android:top="10dp" />
        </shape>
    </item>
    <item>
        <bitmap
            android:gravity="end"
            android:src="@drawable/drop_arrow" />
    </item>
</layer-list>