gpt4 book ai didi

android - 通过代码在Android中创建子菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:22 24 4
gpt4 key购买 nike

我在 Android 中使用 XML 文件 创建了一个子菜单。但我想使用编程代码来创建它。

是否可以创建?

如何实现?

谢谢。

最佳答案

此代码有效

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.Toast;

/**
* Class which shows how to work with Submenus
*
* @author FaYna Soft Labs
*/
public class Main extends Activity {

private static final int FILE = 0;
private static final int EDIT = 1;

private static final int NEW_MENU_ITEM = Menu.FIRST;
private static final int SAVE_MENU_ITEM = NEW_MENU_ITEM + 1;

private static final int UNDO_MENU_ITEM = SAVE_MENU_ITEM + 1;
private static final int REDO_MENU_ITEM = UNDO_MENU_ITEM + 1;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu fileMenu = menu.addSubMenu("File");
SubMenu editMenu = menu.addSubMenu("Edit");
fileMenu.add(FILE, NEW_MENU_ITEM, 0, "new");
fileMenu.add(FILE, SAVE_MENU_ITEM, 1, "save");
editMenu.add(EDIT, UNDO_MENU_ITEM, 0, "undo");
editMenu.add(EDIT, REDO_MENU_ITEM, 1, "redo");
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case NEW_MENU_ITEM:
showMsg("New");
break;
case SAVE_MENU_ITEM:
showMsg("Save");
break;
case UNDO_MENU_ITEM:
showMsg("Undo");
break;
case REDO_MENU_ITEM:
showMsg("Redo");
break;
}
return super.onOptionsItemSelected(item);
}

private void showMsg(String message) {
Toast msg = Toast.makeText(Main.this, message, Toast.LENGTH_LONG);
msg.setGravity(Gravity.CENTER, msg.getXOffset() / 2,
msg.getYOffset() / 2);
msg.show();
}
}

关于android - 通过代码在Android中创建子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6543745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com