在安卓中创建菜单

5

我是Android应用开发的新手,我想开发一个包含菜单的简单的Android应用程序。互联网上有没有源代码?有人可以告诉我该如何进行吗?

提前致谢 Tushar


你能具体说明你指的是什么类型的菜单吗?全屏菜单,还是按下“菜单”按钮时看到的菜单? - Thizzer
3个回答

11

你需要了解的一切都在Android开发者指南中。

归根结底 - 我只是从 Android 开发者指南 中复制相关部分 - 是创建一个 XML 菜单资源,例如这个,并将其保存为game_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/new_game"
          android:icon="@drawable/ic_new_game"
          android:title="@string/new_game" />
    <item android:id="@+id/help"
          android:icon="@drawable/ic_help"
          android:title="@string/help" />
</menu>

然后在您的活动中对其进行充气:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.game_menu, menu);
    return true;
}
当点击一个项目时,您可以执行多个操作:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
        newGame();
        return true;
    case R.id.help:
        showHelp();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

你有Android菜单创建的源代码吗?如果有的话,能否请上传一下? - Tushar
我的答案包含了创建选项菜单所需的所有源代码。您可以在我回答开头提供的开发人员指南中找到其他所有内容。 - slhck
菜单有三种基本类型:
  1. 选项菜单和操作栏
  2. 上下文菜单和上下文操作模式
  3. 弹出菜单
- hitesh141

3

XML 代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_new"          
          android:title="New" />

     <item android:id="@+id/menu_about"         
          android:title="About" />

    <item android:id="@+id/menu_help"         
          android:title="Help" />
</menu>

主要代码:

package com.menuexample;

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

public class MenuSample extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);         

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.layout.menus, menu);
        return true;
    } 

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {

        switch (item.getItemId())
        {
        case R.id.menu_about:
            Toast.makeText(MenuSample.this, "You Clicked About", 3000).show();
            return true;
        case R.id.menu_help:
            Toast.makeText(MenuSample.this, "You Clicked Help", 3000).show();
            return true;
        case R.id.menu_new:
            Toast.makeText(MenuSample.this, "You Clicked New", 3000).show();
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }
    }
}

1

之前的回答已经涵盖了Android中使用的传统菜单。如果您正在寻找替代方案,还有另一种选择可供使用。

https://github.com/AnshulBansal/Android-Pulley-Menu

滑轮菜单是传统菜单的替代品,允许用户直观地选择活动的任何选项。通过向下拖动屏幕,可以显示菜单,在此手势中,用户还可以选择任何选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接