By default isn't it supposed to be under the actionbar? So what am I doing wrong?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
res/menu/main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.test.MainActivity" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never"/>
</menu>
Finally this works for me:
Source: https://stackoverflow.com/a/27134045/3586815
Thanks to Nikola Despotoski for the hint.
This is the new default with Material Design. Popup menus will be displayed originating from the
Button
which opened them.This is done to increase the visual connection between the
Button
and the popup menu. Just look at Googles apps which already use Material Design, there the popup menus act in the same way.According to the Material Design specifications, the overflow menu should display on top of the action bar:
This is the default behavior for Android Lollipop applications as well as any applications that use the AppCompat v7 support library.
This is default behaviour of AppCompat theme you are using. According to the Material Design guidelines, it is expected overflow menu to appear on top of it's anchor, the ActionBar.
You can force it to show below the action bar if by setting to your theme
overlapAnchor
tofalse