menu小节

今天学了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和上下文菜单实现方法很像,略过

猜你喜欢

转载自www.cnblogs.com/z-cg/p/12401448.html