且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何以编程方式更改Android中的菜单

更新时间:2023-10-03 09:24:16

可以通过覆盖onCreateOptionsMenu方法来放大菜单.

The menu can be inflated by overriding the onCreateOptionsMenu method.

您可以使用内部状态来选择要膨胀的菜单,例如

You may use an internal state to choose which menu to inflate, e.g.

private int menuToChoose = R.menu.navigation;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(menuToChoose, menu);
    return true;
}

然后,在您的OnClickListener中,您需要更改状态并致电invalidateOptionsMenu(),例如

Then, in your OnClickListener you need to change the state and call invalidateOptionsMenu(), e.g.

public void onClick(View v) {
    menuToChoose = R.menu.navigation2;

    invalidateOptionsMenu();
}