zoukankan      html  css  js  c++  java
  • 菜单的添加

    1.线性布局 添加按钮。

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:tools="http://schemas.android.com/tools"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6  tools:context="com.example.administrator.android.MainActivity"
     7 android:orientation="vertical">
     8 
     9     <Button
    10         android:layout_width="match_parent"
    11         android:layout_height="wrap_content"
    12         android:text="按钮"
    13         android:id="@+id/bt_1"/>
    14     <Button
    15         android:layout_width="match_parent"
    16         android:layout_height="wrap_content"
    17         android:text="上下文菜单按钮"
    18         android:id="@+id/bt_2"/>
    19 </LinearLayout>

    注意:

    1.android:orientation="vertical" 在线性布局里必须添加。

    2.添加程序运行java代码。

      1 package com.example.administrator.android;
      2 
      3 import android.support.v7.app.AppCompatActivity;
      4 import android.os.Bundle;
      5 import android.view.ContextMenu;
      6 import android.view.Menu;
      7 import android.view.MenuInflater;
      8 import android.view.MenuItem;
      9 import android.view.SubMenu;
     10 import android.view.View;
     11 import android.widget.Button;
     12 import android.widget.Toast;
     13 
     14 public class MainActivity extends AppCompatActivity {
     15 
     16     Button bt_1;
     17     Button bt_2;
     18 
     19 
     20     @Override
     21     protected void onCreate(Bundle savedInstanceState) {
     22         super.onCreate(savedInstanceState);
     23         setContentView(R.layout.activity_main);
     24 
     25         bt_1 = (Button)findViewById(R.id.bt_1);
     26         bt_2 = (Button)findViewById(R.id.bt_2);
     27 
     28 
     29         //给组件添加上下文菜单
     30         bt_2.setOnCreateContextMenuListener(this);
     31 //        //添加长按监听器
     32 //        bt_2.setOnLongClickListener(new View.OnLongClickListener() {
     33 //            @Override
     34 //            public boolean onLongClick(View v) {
     35 //                Toast.makeText(MainActivity.this, "按钮被长按", Toast.LENGTH_SHORT).show();
     36 //                return true;//后面不再处理
     37 //            }
     38 //        });
     39         //点击
     40         bt_1.setOnClickListener(new View.OnClickListener() {
     41             @Override
     42             public void onClick(View v) {
     43 
     44                 Toast.makeText(MainActivity.this, "按钮被点击", Toast.LENGTH_SHORT).show();
     45             }
     46         });
     47         //长按
     48         bt_1.setOnLongClickListener(new View.OnLongClickListener() {
     49             @Override
     50             public boolean onLongClick(View v) {
     51 
     52                 Toast.makeText(MainActivity.this, "按钮被长按", Toast.LENGTH_SHORT).show();
     53                 //事件是否已经被消费
     54                 return true;
     55             }
     56         });
     57     }
     58     //重写创建上下文菜单的方法
     59     @Override
     60     public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
     61         super.onCreateContextMenu(menu, v, menuInfo);
     62         //代码模式(java)
     63         menu.add(1, 0, 1, "字体大小");
     64         menu.add(1,1,2,"背景颜色");
     65         //添加子菜单
     66         SubMenu sm = menu.addSubMenu(1, 2, 3, "子菜单");
     67         sm.add(2,21,0,"子菜单1");
     68         sm.add(2,22,1,"子菜单2");
     69         //加载文件
     70         MenuInflater m = getMenuInflater();
     71         m.inflate(R.menu.test3_menu,menu);
     72     }
     73 
     74     @Override
     75     public boolean onContextItemSelected(MenuItem item) {
     76 
     77         Toast.makeText(MainActivity.this, "上下文菜单的标题:"+item.getTitle(), Toast.LENGTH_SHORT).show();
     78 
     79         return super.onContextItemSelected(item);
     80     }
     81 
     82     //给activity 添加选项菜单
     83     //重写
     84     @Override
     85     public boolean onCreateOptionsMenu(Menu menu) {
     86 //        //添加菜单
     87 //        menu.add(1,1,0,"添加");
     88 //        menu.add(1,2,2,"修改");
     89 //        menu.add(1,3,1,"删除");
     90 
     91         //加载菜单文件方式
     92         //1-获得菜单加载器
     93         MenuInflater m = getMenuInflater();
     94 
     95         //2-加载菜单文件 1)菜单文件 2)当前菜单
     96         m.inflate(R.menu.test3_menu,menu);
     97 
     98         return super.onCreateOptionsMenu(menu);
     99     }
    100 
    101     @Override
    102     public boolean onOptionsItemSelected(MenuItem item) {
    103         Toast.makeText(MainActivity.this, "菜单项的id="+item.getItemId()
    104                 +"菜单项的Title"+item.getTitle(), Toast.LENGTH_SHORT).show();
    105         if (item.getItemId()==R.id.me_1)
    106         {
    107             Toast.makeText(MainActivity.this, "删除被执行", Toast.LENGTH_SHORT).show();
    108         }
    109         else if (item.getItemId()==R.id.me_2)
    110         {
    111             Toast.makeText(MainActivity.this, "修改被执行", Toast.LENGTH_SHORT).show();
    112         }
    113         return super.onOptionsItemSelected(item);
    114     }
    115 }

    3。添加目录代码程序

    1 <?xml version="1.0" encoding="utf-8"?>
    2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
    3 
    4     <item android:id="@+id/me_1" android:title="删除"/>
    5     <item android:id="@+id/me_2" android:title="修改"/>
    6 </menu>

    程序截图如下:

    【主界面】

    【长按按钮弹出上下文菜单】

    【单击子菜单弹出的上下文菜单和提示】

    【选择右上角的menu菜单后弹出的对话框】

  • 相关阅读:
    洛谷 P3384 【模板】树链剖分
    codevs 4633 [Mz]树链剖分练习
    看一个人的回答有感(怎么判断数组中有没有未定义的值,如:[,,1,,3])
    bzoj2754: [SCOI2012]喵星球上的点名
    bzoj4456: [Zjoi2016]旅行者
    bzoj4574:Zjoi2016线段树 dp
    bzoj4455: [Zjoi2016]小星星
    bzoj4516: [Sdoi2016]生成魔咒
    uoj#207. 共价大爷游长沙
    bzoj4530:[Bjoi2014]大融合
  • 原文地址:https://www.cnblogs.com/TENOKAWA/p/5475363.html
Copyright © 2011-2022 走看看