Reputation: 2942
I want to set an icon at the the end of my Toolbar
,which start another activity.
My Toolbar
portion
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="@dimen/abc_action_bar_default_height_material"
android:background="#2B4AE0"
app:theme="@style/ToolBarStyle">
<TextView
android:id="@+id/headerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Theme"
android:textColor="@android:color/white" />
<RelativeLayout
android:id="@+id/notification"
android:layout_width="50dp"
android:layout_height="match_parent"
android:clickable="true"
android:gravity="center" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/bell_icon" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
I tried
android:layout_alignParentEnd="true"
and setting margin left but it doesn't work correctly.
Upvotes: 25
Views: 51571
Reputation: 656
Setting the orderInCategory will set the order of the menu item
<item
...
android:orderInCategory="150"
app:showAsAction="always"
..
/>
if you want to put margin between your menu items you can add an empty menu item in between
Upvotes: 3
Reputation: 1368
If there's anyone that still confused (including me before), somehow android studio doesn't provide autocomplete for the android:layout_gravity
under the toolbar
tag. So to make it works, just copy and paste android:layout_gravity="end"
to the ImageView
/layout.
Upvotes: 8
Reputation: 31
<item
android:title="kjljk"
app:showAsAction="always"
android:id="@+id/menuitem_search"
android:icon="@drawable/pdficon"
>
</item>
Then in OnCreateView: setHasOptionsMenu(true); Closing the OncreateView below write this: @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.pdf, menu);
...
}
Upvotes: 2
Reputation: 2216
If you want something like this (icon 2)
You do not need add icon to the layout manually, you should to implement menu.xml
Create menu.xml like this
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/new_activity" android:icon="@drawable/ic_custom_icon" android:title="@string/new_activity" /> </menu>
Add it in your activity/fragment to the actionbar/toolbar by
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
Handle menu items events
Toolbar with menus works fine, it sets icons to the right of toolbar automatically
Upvotes: 19