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
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…