码迷,mamicode.com
首页 > 其他好文 > 详细

menu小节

时间:2020-03-03 12:40:18      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:exti   ase   menu   oncreate   group   inf   nop   itemid   三个点   

今天学了menu的简单应用,遇到了一些问题,继续加油

1.OptionMenu(选项菜单)

这种菜单是在安卓界面上的有上角有三个点,点击三个点即可弹出菜单,下面直接上代码(实现的效果就是在菜单中有颜色的选项,选中哪个颜色就可以把该界面中的TextView改变成那种颜色)

首先就是TextView初始化控件(很简单略过)

然后定义几个颜色值

1 private int RED = 1;
2 private int BULLE = 2;
3 private int YELLOW = 3;

重写onCreateOptionsMenu和onOptionsItemSelected方法

onCreateOptionsMenu方法

1 public boolean onCreateOptionsMenu(Menu menu) {
2         menu.add(1, RED, 1, "红色");
3         menu.add(1, BULLE, 2, "蓝色");
4         menu.add(1, YELLOW, 3, "黄色");
5         return super.onCreateOptionsMenu(menu);
6     }

onOptionsItemSelected方法

 1 public boolean onOptionsItemSelected(MenuItem item) {
 2         int id = item.getItemId();
 3         switch (id) {
 4             case 1:
 5                 textView.setTextColor(Color.RED);
 6                 break;
 7             case 2:
 8                 textView.setTextColor(Color.BLUE);
 9                 break;
10             case 3:
11                 textView.setTextColor(Color.YELLOW);
12                 break;
13         }
14 
15         return super.onOptionsItemSelected(item);
16     }

2.ContextMenu(上下文菜单)

使用xml文件来实现menu样式

首先我们要在res下创建menu文件夹(此时需要调到项目)

(实现的效果是长按一个textview放开手后会弹出菜单,选中颜色来改变textview中文字颜色)

然后再menu文件夹下创建menu文件menu_context.xml

代码如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
 3     <!-- 定义一组单选按钮 -->
 4     <!-- checkableBehavior的可选值由三个:single设置为单选,all为多选,none为普通选项 -->
 5     <group android:checkableBehavior="none">
 6         <item android:id="@+id/red" android:title="红色"></item>
 7         <item android:id="@+id/bule" android:title="蓝色"></item>
 8         <item android:id="@+id/yellow" android:title="黄色"></item>
 9     </group>
10 </menu>

textview及其初始化简单,略过

重写onCreateContextMenu和onContextItemSelected方法

1 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
2         MenuInflater inflater=new MenuInflater(this);
3         inflater.inflate(R.menu.menu_context,menu);
4         super.onCreateContextMenu(menu, v, menuInfo);
5     }
 1 public boolean onContextItemSelected(MenuItem item) {
 2         switch (item.getItemId()){
 3             case R.id.bule:
 4                 textView1.setTextColor(Color.BLUE);
 5                 break;
 6             case R.id.red:
 7                 textView1.setTextColor(Color.RED);
 8                 break;
 9             case R.id.yellow:
10                 textView1.setTextColor(Color.YELLOW);
11                 break;
12         }
13         return super.onContextItemSelected(item);
14     }

3.SubMenu(子菜单)

就是嵌套menu和上下文菜单实现方法很像,略过

 

menu小节

标签:exti   ase   menu   oncreate   group   inf   nop   itemid   三个点   

原文地址:https://www.cnblogs.com/z-cg/p/12401448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!