How to create a dropdown menu in Android?
Dropdown menus give the user a choice to choose a single options from a list of options in a dropdown. To create a dropdown menu, you need to use an XML widget called Spinner
.
<Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/options" android:padding="5dp"/>
You need to use an XML attribute called entries
to show the list of options.
android:entries="@array/options"
The entries
attribute takes a string array where you can place each option as a separate item in the array. Place the string-array
in strings.xml.
<string-array name="options"> <item>Choose an option...</item> <item>Travel</item> <item>Mobile</item> <item>Food</item> </string-array>
You can also initialise a spinner dynamically in Java by using an ArrayAdapter
instead of using the entries
attribute as follows:
Spinner spinner = (Spinner) findViewById(R.id.spinner); // Create an ArrayAdapter using the string array and a default spinner layout ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.options, android.R.layout.simple_spinner_item); // Specify the layout to use when the list of choices appears adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Apply the adapter to the spinner spinner.setAdapter(adapter);