zoukankan      html  css  js  c++  java
  • android Menu

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    android:id="@+id/textView"
    />

    <EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView"
    android:layout_below="@+id/textView"
    android:layout_marginTop="37dp"
    android:ems="10" >

    <requestFocus />
    </EditText>

    </RelativeLayout>

    ======================================

    package com.example.mymenu;

    import android.os.Bundle;
    import android.app.Activity;
    import android.view.ContextMenu;
    import android.view.ContextMenu.ContextMenuInfo;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MainActivity extends Activity {

    private TextView tv1=null;
    private EditText ed1=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    tv1=(TextView)this.findViewById(R.id.textView);

    this.registerForContextMenu(tv1);

    ed1=(EditText)this.findViewById(R.id.editText1);

    this.registerForContextMenu(ed1);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    /* add()方法的四个参数,依次是:
    *
    * 1、组别,如果不分组的话就写Menu.NONE,
    *
    * 2、Id,这个很重要,Android根据这个Id来确定不同的菜单
    *
    * 3、顺序,那个菜单现在在前面由这个参数的大小决定
    *
    * 4、文本,菜单的显示文本
    */

    menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon(

    android.R.drawable.ic_menu_delete);

    // setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以

    // android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的

    menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon(

    android.R.drawable.ic_menu_edit);

    menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon(

    android.R.drawable.ic_menu_help);

    menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon(

    android.R.drawable.ic_menu_add);

    menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon(

    android.R.drawable.ic_menu_info_details);

    menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon(

    android.R.drawable.ic_menu_send);

    return true;

    }

    /* (non-Javadoc)
    * @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
    */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub

    Toast.makeText(this, item.getTitleCondensed()+ "菜单被点击了",
    Toast.LENGTH_LONG).show();



    return super.onOptionsItemSelected(item);
    }

    /* (non-Javadoc)
    * @see android.app.Activity#onContextMenuClosed(android.view.Menu)
    */
    @Override
    public void onContextMenuClosed(Menu menu) {
    // TODO Auto-generated method stub

    Toast.makeText(this, "菜单走了",
    Toast.LENGTH_LONG).show();
    super.onContextMenuClosed(menu);
    }

    /* (non-Javadoc)
    * @see android.app.Activity#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo)
    */
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
    // TODO Auto-generated method stub
    menu.setHeaderIcon(android.R.drawable.ic_dialog_info);
    switch (v.getId()) {
    case R.id.textView:
    menu.add(Menu.NONE, Menu.FIRST+7, 0, "菜单项1");
    menu.add(Menu.NONE, Menu.FIRST+8, 0, "菜单项2");
    menu.add(Menu.NONE, Menu.FIRST+9, 0, "菜单项3");
    break;
    case R.id.editText1:
    menu.add(Menu.NONE, Menu.FIRST+10, 0, "菜单项4");
    menu.add(Menu.NONE, Menu.FIRST+11, 0, "菜单项5");

    break;
    }
    }

    /* (non-Javadoc)
    * @see android.app.Activity#onContextItemSelected(android.view.MenuItem)
    */
    @Override
    public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    Toast.makeText(this,item.getTitle()+ "菜单点了",
    Toast.LENGTH_LONG).show();

    return super.onContextItemSelected(item);
    }

    }

  • 相关阅读:
    企业级应用架构(二)三层架构之数据访问层的封装与抽象
    企业级应用架构(一) 三层架构之解耦
    AngularJS-01.AngularJS,Module,Controller,scope
    ASP.NET-A low-level Look at the ASP.NE
    批量Insert
    C#连接Oracle数据库的方法
    List 集合 一行4个排序
    asp.net 14
    Linux 定时任务的配置
    Windows 修改域用户账户密码
  • 原文地址:https://www.cnblogs.com/honeynm/p/4229165.html
Copyright © 2011-2022 走看看