I tried making it with border like below.
Set spinner in activity
<LinearLayout
android:layout_centerInParent="true"
android:background="@drawable/border"
android:layout_width="wrap_content" android:layout_height="wrap_content" tools:ignore="UselessParent">
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:backgroundTint="#ff0000"
android:overlapAnchor="false"
android:layout_height="wrap_content"
android:spinnerMode="dropdown"/>
</LinearLayout>
Create border.xml in drawable
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#80ffffff"/>
<stroke android:width="1dip" android:color="#ff0000" />
<corners android:radius="3dip"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
And populate it in any way you want.
val items = arrayOf("NM", "NY", "NC", "ND")
val adapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, items)
spinner1.adapter = adapter
I don't know how to put title to the spinner though.
Result seems like this.
Little adjustments and I think you can create what you are looking for.