android----菜单

本文介绍了在Android应用中创建上下文菜单的方法,包括动态构造菜单项并设置点击事件,以及通过XML文件静态创建菜单。示例代码展示了如何实现菜单项的添加、修改及响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

菜单要重新二种构造方法
public boolean onCraeatOptionMenu(Menu menu)
{
动态构造菜单的方法
MenuItem item = menu.add(1,100,1,"  菜单一")
item.setTitle("菜单一的名字");//改变菜单的名字
menu.add(1,100,1,"菜单二");
menu.add(1,100,1,"菜单二");
return true;

}
publlic boolean onOptionsItemSelect(MenuItem item)
{
switch(item.getItemId())
{

1.Toast动态悬浮窗显示点击菜单出现的名字
return super.onOptionItemSelected(item);
2.动态跳转到另一个页面
Intent intent=new Intent(MainActivity.this,SActivity.class);
item.setIntent(intent);

}

MainActivity

package com.example.wuzuo.menu;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuItem item= menu.add(1, 100, 1, "菜单一");
        item.setTitle("11111");
        menu.add(1,101,1,"菜单二");
        menu.add(1,102,1,"菜单三");
        menu.add(1,103,1,"菜单四");
      //getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId())
        {
            case 100:
                Intent intent =new Intent(MainActivity.this,SActivity.class);
                item.setIntent(intent);
            case 101:
                Toast.makeText(MainActivity.this,"菜单二",Toast.LENGTH_LONG).show();
            case 102:
                Toast.makeText(MainActivity.this,"菜单三",Toast.LENGTH_LONG).show();
            case 103:
                Toast.makeText(MainActivity.this,"菜单四",Toast.LENGTH_LONG).show();
        }
        return super.onOptionsItemSelected(item);
    }
}

SActivity

package com.example.wuzuo.menu;
import android.app.Activity;
import android.os.Bundle;
/**
 * Created by wuzuo on 2016/7/24.
 */
public class SActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sactivity);
    }
}

Androidmianfest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.wuzuo.menu">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SActivity">
        </activity>
    </application>

</manifest>

main 静态创建菜单 先创建一个menu文件,在建立一个main.xlm  android Resouce directery

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

   <item
       android:id="@+id/action_settings_item1"
       android:orderInCategory="100"
      android:showAsAction="never"
       android:title="菜单一"
       />
    <item
        android:id="@+id/action_settings_item2"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="菜单二"
        />
</menu>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值