概述
选项菜单
钟表走着同样的节拍,夜晚缀着同一簇星星。
菜单模式介绍
菜单是增强用户应用程序使用便捷性的一种重要功能,在模拟器或者真机上面都有Menu键,点击该键就会弹出一个菜单
- 目前常见的菜单UI包括:
- 选项菜单(Options menu)
- 上下文菜单(Context menu)
- 弹出菜单(Popup menu)
- 子菜单(Sub menu)
- android.view.Menu接口代表一个菜单,android用它来管理各种菜单项。
- 每个Activity默认都自带了一个menu,开发人员通过重写回调方法、为它加菜单项和响应菜单的点击事件。
- Android.view.Menultem代表每个菜单项
- android.view.SubMenu代表子菜单
- Android提供了标准的XML格式来定义菜单项
选项菜单的添加步骤
- 创建资源文件夹
- 创建Menu XML文件
- 添加Menu Items
- 创建Menu Items的图标
- 注册视图元素
- 获得菜单资源
- 响应Item选择事件
创建菜单项目(Basic Activity)
创建一个项目Basic Activity,其他也行
创建菜单界面并加载菜单
- 在R.文件下建立menu文件夹,在menu文件夹下新建menu xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.menudemo.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="ifRoom|withText"
android:icon="@drawable/png1"/>
<item
android:id="@+id/action_help"
android:title="@string/action_help"
android:orderInCategory="90"
app:showAsAction="always"
android:icon="@drawable/png2"/>
<item
android:id="@+id/action_File"
android:title="@string/action_file"
android:orderInCategory="80"
app:showAsAction="never">
<menu>
<item
android:id="@+id/action_open"
android:title="@string/action_open"/>
<item
android:id="@+id/action_close"
android:title="@string/action_close"/>
</menu>
</item>
</menu>
android:orderInCategory=“100” -->设置每个菜单项目的权重,权重越大,选项约 在下
android:title=“string” -->设置菜单项目的名字
app:showAsAction=" " -->设置菜单项目的显示方式
ifRoom 位置足够显示在标题栏目
withText 显示菜单项目名字(默认)
always 总是显示在标题栏
never 不显示在标题栏
android:icon="@drawable/" -->设置菜单项目的图片样式代替字体
可在<item>中添加<menu>创建选项菜单中的选项菜单
- 在主界面java文件中加载菜单(注册视图元素和获取菜单元素)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
定制菜单行为响应
在java代码中实现菜单行为的响应
@SuppressLint("SetTextI18n")
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
textView
= findViewById(R.id.textview_first);
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
textView.setText("Setting菜单被选中");
return true;
}
if (id == R.id.action_help) {
textView.setText("help菜单被选中");
return true;
}
if (id == R.id.action_File) {
textView.setText("File菜单被选中");
return true;
}
return super.onOptionsItemSelected(item);
}
/*Setting菜单自己的onClick的方法*/
public void setting(MenuItem menuItem){
textView
= findViewById(R.id.textview_first);
textView.setText("Setting方法中的Setting菜单被选中");
}
1.通过获取每个item的不同ID对每个菜单选项进行监控,推荐使用switch()进行每个菜单的监听
2.当item调用自己的onClick()方法的时候不在调用onOptionsItemSelected()方法中的处理事件
最后
以上就是舒服可乐为你收集整理的Android_选项菜单的创建选项菜单的全部内容,希望文章能够帮你解决Android_选项菜单的创建选项菜单所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复