Android学习实践:5.菜单与对话框,系统信息及结束进程
2015-09-23 23:02
549 查看
打开res/values/strings.xml,加入显示菜单所需要的字符串:
打开res/menu/main.xml,加入菜单项:
打开MainActivity.java,修改onOptionItemSelected方法:
运行后按手机上的菜单键后如下图:
MainActivity.onOptionsItemSelected方法的参数就是当前选中的菜单项,通过item.getItemId()返回菜单项的Id,这个和menu/main.xml中定义的是相对应的。其中,action_exit会响应退出菜单将进程结束,调用了android.os.Process.killProcess(android.os.Process.myPid()),而action_about则响应关于菜单调用对话框来显示系统的部分信息,对话框则使用了AlertDialog.Builder.
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Demo1</string> <string name="hello_world">Hello world!</string> <string name="action_settings">设置</string> <string name="action_about">关于</string> <string name="action_exit">退出</string> <string name="action_openactivity">打开另一个</string> <string name="action_phoneCall">打电话</string> <string name="action_sendSMS">发短信</string> </resources>
打开res/menu/main.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.demo1.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:title="@string/action_settings" app:showAsAction="never"/> <item android:id="@+id/action_about" android:orderInCategory="100" android:title="@string/action_about" app:showAsAction="never"/> <item android:id="@+id/action_exit" android:orderInCategory="100" android:title="@string/action_exit" app:showAsAction="never"/> </menu>
打开MainActivity.java,修改onOptionItemSelected方法:
@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(); if (id == R.id.action_settings) { return true; } switch(id) { case R.id.action_about: StringBuilder sb=new StringBuilder(); sb.append("手机型号:".concat(android.os.Build.MODEL).concat("\n")); sb.append("SDK版本:".concat(Integer.toString(android.os.Build.VERSION.SDK_INT)).concat("\n")); sb.append("系统版本:".concat(android.os.Build.VERSION.RELEASE).concat("\n")); sb.append("源码控制版本:".concat(android.os.Build.VERSION.INCREMENTAL).concat("\n")); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.app_name); builder.setMessage(sb.toString()); builder.setPositiveButton("确定",null); builder.create().show(); break; case R.id.action_exit: android.os.Process.killProcess(android.os.Process.myPid()); break; } return super.onOptionsItemSelected(item); }
运行后按手机上的菜单键后如下图:
MainActivity.onOptionsItemSelected方法的参数就是当前选中的菜单项,通过item.getItemId()返回菜单项的Id,这个和menu/main.xml中定义的是相对应的。其中,action_exit会响应退出菜单将进程结束,调用了android.os.Process.killProcess(android.os.Process.myPid()),而action_about则响应关于菜单调用对话框来显示系统的部分信息,对话框则使用了AlertDialog.Builder.
相关文章推荐
- Android三种实现定时器的方法
- Android的onLayout、layout方法讲解
- 【转】Android开发之Bitmap的内存优化详解
- Android自定义View---前奏篇(Paint和Canvas的使用)
- android模拟器中SDCard创建全解析
- Android Studio 简单设置界面设置
- Android基础学习之SQLite数据库
- 手机浏览器调试方案--Debugging Firefox for Android with WebIDE
- 【转载】Android Studio中获取SHA1或MD5的方法
- Android 颜色对照表
- 自学android 碰到的知识点总结
- Android 代码版本控制器之—— SVN
- Android Studio小技巧
- Android 友盟
- Android获取栈顶的activity
- 解决 arcGis android TextSymbol乱码的问题
- Android屏幕适配全攻略(最权威的官方适配指导)
- Android 百度数据统计
- Android文本Flood it游戏源代码
- Android各种访问权限Permission详解