I have an application with a split action bar loading an action menu.
I changed the actionbar for the new toolbar and replaced the split actionbar by an other toolbar used in standalone mode :
Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbarBottom);
toolbarBottom.inflateMenu(R.menu.ab_one_cam);
As specified in the documentation the action menu is pin to the right of the toolbar :
But i would like the icons to be centered on the toolbar , like it was on the split actionbar :
How can i make the action menu take all the available space on the toolbar ?
The toolbar is dedicated to this menu , nothing else will be added on it.
Answer
The accepted answer's link lead to a split toolbar. If like me you have very simple need this code is good enough :
public class SplitToolbar extends Toolbar {
public SplitToolbar(Context context) {
super(context);
}
public SplitToolbar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SplitToolbar(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void addView(View child, ViewGroup.LayoutParams params) {
if (child instanceof ActionMenuView) {
params.width = LayoutParams.MATCH_PARENT;
}
super.addView(child, params);
}
}
Credit goes to : https://gist.github.com/dodgex/7bc81fd2cbb70a8d5117
In this case, Chris Banes recommends to use ActionMenuView instead of Toolbar (see the link below, reply #6). Besides that, in this link you can find a solution where the guy subclassed Toolbar in order to the split works right.
https://code.google.com/p/android/issues/detail?id=77632#c2
Hope it helps you!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With