アクションメニューをロードする分割アクションバーを備えたアプリケーションがあります。
新しいツールバーのアクションバーを変更し、分割されたアクションバーをスタンドアロン モードで使用される別のツールバーに置き換えました。
Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbarBottom);
toolbarBottom.inflateMenu(R.menu.ab_one_cam);
ドキュメントで指定されているように、アクション メニューはツールバーの右側に固定されています。
しかし、分割アクションバーのように、アイコンをツールバーの中央に配置したいと思います。
アクション メニューがツールバーの利用可能なすべてのスペースを占めるようにするにはどうすればよいですか?
ツールバーはこのメニュー専用で、他には何も追加されません。
答え
受け入れられた回答のリンクは、分割ツールバーにつながります。私のように非常に単純な必要がある場合は、このコードで十分です:
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);
}
}