Android-OptionMenu选项菜单
2016-04-25 19:16
465 查看
目标效果:
程序运行,点击右上角的三个点可现实菜单列表,点击列表中的“新页面”,可以跳转到图二所示的第二个页面,点击列表中“设置”和“确定”,可以吐司打印信息。
1.activity_main.xml页面放置TextView控件。
activity_main.xml页面:
2.res文件夹下的menu文件夹存放的是activity页面对应的菜单布局页面,每次新建android页面都会在此文件夹下生成一个对应名字的xml文件,main.xml页面是第一个页面的菜单布局。
main.xml页面:
3.strings.xml页面设置了TextView的显示信息。
strings.xml页面:
4.新建activity_second.xml页面和SecondActivity.java页面,作为跳转后的新页面,SecondActivity.java不做处理,activity_second.xml页面和activity_main.xml页面几乎一样。
activity_main.xml页面:
5.最后MainActivity.java页面处理菜单的点击和跳转。
MainActivity.java页面:
菜单中有“新页面”,“设置”,“确定”三项,其中“新页面”是使用动态添加菜单方法,而“设置”和“确定”是使用布局添加菜单的方法。
6.运行程序就显示目标效果了。
程序运行,点击右上角的三个点可现实菜单列表,点击列表中的“新页面”,可以跳转到图二所示的第二个页面,点击列表中“设置”和“确定”,可以吐司打印信息。
1.activity_main.xml页面放置TextView控件。
activity_main.xml页面:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tvOne" /> </RelativeLayout>
2.res文件夹下的menu文件夹存放的是activity页面对应的菜单布局页面,每次新建android页面都会在此文件夹下生成一个对应名字的xml文件,main.xml页面是第一个页面的菜单布局。
main.xml页面:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 添加选项菜单 android:orderInCategory为排序序号 showAsAction为默认是否显示(never)默认不显示 android:title为菜单标题 --> <item android:id="@+id/action_set" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_set"/> <item android:id="@+id/action_sure" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_sure"/> </menu>
3.strings.xml页面设置了TextView的显示信息。
strings.xml页面:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">选项菜单</string> <string name="action_settings">Settings</string> <string name="tvOne">第一个页面</string> <string name="action_sure">确定</string> <string name="action_set">设置</string> <string name="title_activity_second">SecondActivity</string> <string name="tvTwo">第二个页面</string> </resources>
4.新建activity_second.xml页面和SecondActivity.java页面,作为跳转后的新页面,SecondActivity.java不做处理,activity_second.xml页面和activity_main.xml页面几乎一样。
activity_main.xml页面:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".SecondActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/tvTwo" /> </RelativeLayout>
5.最后MainActivity.java页面处理菜单的点击和跳转。
MainActivity.java页面:
package com.example.optionmenu; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /*创建选项菜单*/ @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); /*动态添加菜单*/ //参数一位分组的id,参数二为菜单项id,参数三为菜单项排序,参数四为菜单描述 menu.add(1,100,1,"新页面"); return true; } /*菜单点击事件*/ @Override public boolean onOptionsItemSelected(MenuItem item) {//item为当前点击的菜单 switch (item.getItemId()) { case R.id.action_set: Toast.makeText(MainActivity.this,"点击了设置菜单",Toast.LENGTH_SHORT).show(); break; case R.id.action_sure: Toast.makeText(MainActivity.this,"点击了确定菜单",Toast.LENGTH_SHORT).show(); break; case 100: Intent intent=new Intent(MainActivity.this,SecondActivity.class);//创建意图 item.setIntent(intent);//跳转 break; } return super.onOptionsItemSelected(item); } }
菜单中有“新页面”,“设置”,“确定”三项,其中“新页面”是使用动态添加菜单方法,而“设置”和“确定”是使用布局添加菜单的方法。
6.运行程序就显示目标效果了。
相关文章推荐
- Android Studio更换现名图片导致编译失败
- Android 针对个人开发者的bmob支付
- [Android] ListView中如何让onClick和onItemClick事件共存
- 史上最牛最全android开发知识汇总
- android自定义View实现图片上传进度显示(仿手机QQ上传效果)
- Android Activity之间跳转出现短暂黑屏的处理方法和intent.setFlags方法中的参数值含义
- Android中深入理解 LayoutInflater.inflate()
- android 双击返回键退出应用核心代码
- Android学习之内存优化
- Android中实时获取音量分贝值详解
- Android Studio 2.0
- Android多媒体开发(5)————利用Android AudioTrack播放mp3文件
- GitHub上史上最全的Android开源项目分类汇总
- Fragment 内实现对返回键的监听处理
- ANDROID内存优化(大汇总——上)
- android app性能优化大汇总(google官方Android性能优化典范 - 第2季)
- 整理了一个 android 上的波形图及柱状图绘制控件
- Android 通过应用设置系统日期和时间的方法
- GitHub上最火的Android开源项目
- android使用百度地图获取当前经纬度