Android中的Menu

Android中的设置按钮:长按或点击菜单键

1.长按选项:

布局文件:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context=".MenuActivity" >
11
12     <TextView
13         android:id="@+id/menutext1"
14         android:layout_width="fill_parent"
15         android:layout_height="wrap_content"
16         android:text="第一种方法创建菜单"
17         android:textSize="20sp" />
18
19     <TextView
20         android:id="@+id/menutext2"
21         android:layout_width="fill_parent"
22         android:layout_height="wrap_content"
23         android:text="第二种方法创建菜单"
24         android:textSize="20sp" />
25
26     <ListView
27         android:id="@+id/menulist"
28         android:layout_width="fill_parent"
29         android:layout_height="fill_parent"
30         android:layout_marginTop="50dp" >
31     </ListView>
32
33 </LinearLayout>

实现过程:

 1 private ListView list;
 2     private TextView lv;
 3
 4     String[] str = { "TextView", "EditView", "Toast(消息框)" };
 5
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_menu);
10
11         list = (ListView) findViewById(R.id.menulist);
12         ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
13                 android.R.layout.simple_list_item_1, str);
14         list.setAdapter(arr);
15
16         list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
17
18             @Override
19             public void onCreateContextMenu(ContextMenu menu, View v,
20                     ContextMenuInfo menuInfo) {
21                 menu.clear();
22                 menu.clearHeader();
23                 menu.setHeaderIcon((R.drawable.ic_launcher));
24                 menu.setHeaderTitle("我是ListView");
25                 menu.add(3, 6, 0, "删除");
26                 menu.add(3, 7, 1, "修改");
27             }
28         });
29         // 第一种方法
30         TextView tv = (TextView) findViewById(R.id.menutext1);
31         this.registerForContextMenu(tv);
32         // 第二种方法
33         lv = (TextView) findViewById(R.id.menutext2);
34         lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
35
36             @Override
37             public void onCreateContextMenu(ContextMenu menu, View v,
38                     ContextMenuInfo menuInfo) {
39                 menu.setHeaderTitle("长度-ContextMenu");
40                 menu.add(0, 1, 0, "复制");
41                 SubMenu sb = menu.addSubMenu("查找");
42                 sb.add(1, 2, 0, "按id查找");
43                 sb.add(1, 3, 0, "按名称查找");
44             }
45         });
46     }

2.长按菜单项:

 1 private ListView list;
 2     private TextView lv;
 3
 4     String[] str = { "TextView", "EditView", "Toast(消息框)" };
 5
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_menu);
10
11         list = (ListView) findViewById(R.id.menulist);
12         ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
13                 android.R.layout.simple_list_item_1, str);
14         list.setAdapter(arr);
15
16         list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
17
18             @Override
19             public void onCreateContextMenu(ContextMenu menu, View v,
20                     ContextMenuInfo menuInfo) {
21                 menu.clear();
22                 menu.clearHeader();
23                 menu.setHeaderIcon((R.drawable.ic_launcher));
24                 menu.setHeaderTitle("我是ListView");
25                 menu.add(3, 6, 0, "删除");
26                 menu.add(3, 7, 1, "修改");
27             }
28         });
29         // 第一种方法
30         TextView tv = (TextView) findViewById(R.id.menutext1);
31         this.registerForContextMenu(tv);
32         // 第二种方法
33         lv = (TextView) findViewById(R.id.menutext2);
34         lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
35
36             @Override
37             public void onCreateContextMenu(ContextMenu menu, View v,
38                     ContextMenuInfo menuInfo) {
39                 menu.setHeaderTitle("长度-ContextMenu");
40                 menu.add(0, 1, 0, "复制");
41                 SubMenu sb = menu.addSubMenu("查找");
42                 sb.add(1, 2, 0, "按id查找");
43                 sb.add(1, 3, 0, "按名称查找");
44             }
45         });
46     }

Over

时间: 2024-12-05 21:32:27

Android中的Menu的相关文章

Android菜单详解(一)——理解android中的Menu

前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至今为止看到的最好的一本android书,中文版出到<精通Android 2>. 理解Android的菜单 菜单是许多应用程序不可或缺的一部分,Android中更是如此,所有搭载Android系统的手机甚至都要有一个"Menu"键,由此可见菜单在Android程序中的特殊性.An

Android菜单详解——理解android中的Menu

Android菜单详解--理解android中的Menu 前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至今为止看到的最好的一本android书,中文版出到<精通Android 2>. 理解Android的菜单 菜单是许多应用程序不可或缺的一部分,Android中更是如此,所有搭载Android系统的手机甚至都要有一个"Menu&qu

处女男学Android(十二)---Android 菜单(Menu)详解与应用

一.前言 转载请标明出处:http://blog.csdn.net/wlwlwlwl015/article/details/42170771 本篇blog将记录一下Android中菜单的使用方法,虽然在新版本中推荐使用ActionBar去替代菜单,但我认为菜单依然是挺不错的一种UI交互组件,比ActionBar好点一些,对于手指不灵活的人比起来ActionBar右上角的那个方块小按钮,或许ta会更喜欢Menu呢,废话不多说,下面就具体介绍一下Android中关于Menu的使用方法. 二.创建第一

Android中ActionBar以及menu的代码设置样式

Android中ActionBar以及menu的代码样式如何设置?今天麦子学院android开发老师主要介绍Android中ActionBar以及menu的代码设置样式,,有需求的朋友可以参阅下 menu有些xml代码 http://schemas.android.com/apk/res/android"> <="" div=""> android:title="查找1" android:orderInCategory

Android studio 中R.menu的创建

对于Android开发中的menu没有声明的情况: 首先,将鼠标定位到红色的menu上面, 然后,Alt+enter组合键,建立文件menu, 然后将以下代码复制进去: <item android:id="@+id/item_store" app:showAsAction="always" android:title="" android:icon="@mipmap/ic_launcher" android:orderI

《Android第一行代码》学习记录02 - 在活动中使用Menu

必要步骤: 在res目录下新建menu文件夹,并新建菜单文件 在菜单项中添加菜单项,类似如下代码: <menu xmlns:android=”http://schema.android.com/apk/res/android”> <item android:id=”@+id/itemId1” android:title=”itemName1”/> <item android:id=”@+id/itemId2” android:title=”itemName2” /> &

在Android中如何添加menu两种方法

Android界面开发之菜单Menu用法 Android手机用一个按键“Menu”专门来显示菜单,所以,当应用程序设置了菜单,我们便可以通过该按键来操作应用程序的菜单选项. 要实现菜单功能,首先需要通过方法onCreateOptionsMenu来创建菜单,然后需要对其能够触发的事件进行监听,这样才能够在事件监听onOptionsItemSelected中根据不同的菜单选项来执行不同的任务.当然,可以通过XML布局来实现,也可以通过menu.add方法来实现.下面的示例分别采用了这两种不同的方法来

Android第一行代码学习笔记三---在活动中使用Menu

在活动中使用Menu: 如果你活动中大量的菜单需要显示,这个·时候·界面·设计就会比较尴尬,Android给我们提供了一种方式,可以让菜单都能得到展示的同时,还能不占用任何空间.· res目录下新建一个menu文件夹,右击res目录->New->Directory,输入文件名menu,点击OK,接着在这个文件夹下.新建一个菜单文件,右击menu文件夹->New->Menu resource file.文件名输入main. 打开文件main.xml,输入如下代码: <?xml

android中menu.add()的使用说明

在menu.add()有四个参数,开始不懂其理.看过后记于此,以备查阅. 任何一款软件都少不了对"菜单"的使用.在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在Activity下进行操作,复写onCreateOptionsMenu 和 onOptionsItemSelected这两个方法.举例如下: java代码: @Override public boolean onCreateOptionsMenu(Menu menu){ //条用基类的