
In this tutorial we will create an options menu in Android Studio, which contains icons, drop down menus and sub items. The menu will be displayed in the app bar. For this we will override onCreateOptionsMenu and pass our own menu.xml file. Also we will handle click events on the single items in the onOptionsItemSelected method.
In MainActivity.java class file add these lines of codes:-
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.example_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item1:
Toast.makeText(this, "Item 1 selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.item2:
Toast.makeText(this, "Item 2 selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.item3:
Toast.makeText(this, "Item 3 selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.subitem1:
Toast.makeText(this, "Sub Item 1 selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.subitem2:
Toast.makeText(this, "Sub Item 2 selected", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
In res file add menu file directory within it add example_menu.xml file for options menu creation:-
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item1"
android:icon="@drawable/ic_icon"
android:title="Item 1"
app:showAsAction="ifRoom" />
<item
android:id="@+id/item2"
android:title="Item 2"
app:showAsAction="never" />
<item
android:id="@+id/item3"
android:title="Item 3"
app:showAsAction="never">
<menu>
<item
android:id="@+id/subitem1"
android:title="Sub Item 1" />
<item
android:id="@+id/subitem2"
android:title="Sub Item 2" />
</menu>
</item>
</menu>
Now Run your app. you will see on Toolbar option menu will be created and toast message will appear on screen on selection of different options.
Comments