I want to change the gravity of my inflated menu item in android xml code but i could not find any attribute to solve the problem. i want an item in the left
side and another item in right
side of corner in Toolbar
.
Do you have any idea guys?
Here's my present state:
Here's my menu xml:
<?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/dismis"
android:icon="@drawable/close"
android:title="Done"
app:showAsAction="always"></item>
<item
android:id="@+id/saveNote"
android:icon="@drawable/save"
android:title="Done"
app:showAsAction="always"></item>
</menu>
Use Toolbar
navigation item
(LEFT
) for dismiss
item and option menu
(RIGHT
) for saveNote
item.
Dismiss:
You can use
Toolbar
navigationitem
asdismiss
action. Setclose
icon asToolbar
navigation icon by usingToolbar.setNavigationIcon()
. To handle theclick
event, addNavigationOnClickListener
toToolbar
.
SaveNote:
Inflate
menu
XML toToolbar
usingToolbar.inflateMenu()
. To handlesaveNote
itemclick
event, addOnMenuItemClickListener
toToolbar
.
Follow below steps:
1. Remove dismiss
item from menu
XML.
// menu_main.xml
<?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/saveNote"
android:icon="@drawable/save"
android:title="Done"
app:showAsAction="always">
</item>
</menu>
2. In your activity, do below changes for dismiss
and saveNote
actions.
public class MainActivity extends AppCompatActivity {
// ToolBar
Toolbar mToolBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...........
.....................
// ToolBar
mToolBar = (Toolbar) findViewById(R.id.toolbar);
// Required to use Toolbar as ActionBar
setSupportActionBar(mToolBar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("StackOverflow");
// Dismiss Action
mToolBar.setNavigationIcon(R.drawable.close);
mToolBar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Do something
Toast.makeText(getApplicationContext(), "Dismiss", Toast.LENGTH_SHORT).show();
}
});
// SaveNote Action
mToolBar.inflateMenu(R.menu.menu_main);
mToolBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (item.getItemId() == R.id.saveNote)
{
// Do something
Toast.makeText(getApplicationContext(), "Save", Toast.LENGTH_SHORT).show();
}
return true;
}
});
.............
.......................
}
}
OUTPUT:
Hope this will help~