Android开发手记(12) Menu的使用
2015-10-20 19:25
357 查看
Android中的Menu分为三种,分别为:OptionsMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)。
1、OptionsMenu
按Menu键就会显示,用于当前的Activity。
在Activity里面,一般通过以下函数来使用options menu:
Activity::onCreateOptionsMenu (Menu menu) 创建options menu,这个函数只会在menu第一次显示时调用。
Activity::onPrepareOptionsMenu (Menu menu) 更新改变options menu的内容,这个函数会在menu每次显示时调用。
Activity::onOptionsItemSelected (MenuItem item) 处理选中的菜单项。
完整代码如下:
MainActivity.java
1、OptionsMenu
按Menu键就会显示,用于当前的Activity。
在Activity里面,一般通过以下函数来使用options menu:
Activity::onCreateOptionsMenu (Menu menu) 创建options menu,这个函数只会在menu第一次显示时调用。
Activity::onPrepareOptionsMenu (Menu menu) 更新改变options menu的内容,这个函数会在menu每次显示时调用。
Activity::onOptionsItemSelected (MenuItem item) 处理选中的菜单项。
//menu.add(groupId, itemId, order, title); 通过add()增加menuItem,每个menuItem有groupId,itemId,Order。这三个属性是相互独立,没有关联。 MenuItem redMenu = menu.add(MENU_GROUP_1, 0, 0, "Red"); MenuItem OrangedMenu = menu.add(MENU_GROUP_1, 1, 1, "Orange"); MenuItem YellowMenu = menu.add(MENU_GROUP_2, 2, 2, "Yellow"); MenuItem GreenMenu = menu.add(MENU_GROUP_2, 3, 3, "Green"); MenuItem BlueMenu = menu.add(MENU_GROUP_2, 4, 4, "Blue"); MenuItem CyangonMenu = menu.add(MENU_GROUP_3, 5, 5, "Cyangon"); MenuItem PurpleMenu = menu.add(MENU_GROUP_3, 6, 6, "Purple");
menu.setGroupCheckable(MENU_GROUP_2, true /*isCheckable*/, false);//第三个参数true为单选,false为多选 menu.setGroupEnabled(MENU_GROUP_2, true/*isEnabled*/); menu.setGroupVisible(MENU_GROUP_2, true/*isVisible*/); menu.setGroupCheckable(MENU_GROUP_3, true, true);
完整代码如下:
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ContextMenu; import android.view.View; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView colorText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); colorText = (TextView)findViewById(R.id.textView); registerForContextMenu(colorText); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); getMenuInflater().inflate(R.menu.menu_main, menu); } }
MainActivity.java
相关文章推荐
- android倒计时
- 编译错误:com.android.dex.DexException:
- Android的屏幕多样性支持
- android support-v4、v7、v13
- Android学习路线
- 产生二维码的Android例子
- android 限制输入字符数!看清楚:是限制字符数,不是字数!中英混排?就算emoji也不怕啦!
- ContentResolver读取系统联系人数据
- Android持续集成--JENKINS+GRADLE+JACOCO+SONARQUBE(四)
- Android文字局部变色 TextView文字部分变色代码
- AndroidStudio 怎样导入jar包
- 如何更新android sdk
- [Android] 环境配置之Android Studio开发NDK
- 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法
- Android自定义控件之乱涂
- Android 沉浸模式
- Android Activity的LaunchMode
- android环形弹出菜单的实现
- onActivityResult与singleTask或singleInstance的冲突问题
- Android实用小代码