用户界面1-(菜单)
来源:互联网 发布:华为quik是什么软件 编辑:程序博客网 时间:2024/05/16 15:09
Menu:
一.使用资源文件构建菜单
二.使用代码创建菜单
2.1:选项菜单
2.2:上下文菜单
2.3:子菜单
一.使用资源文件构建菜单
1.Res/Menu下创建资源文件file_menu.xml
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:icon="@drawable/file" android:title="File" android:id="@+id/filemenu"> <menu> <group android:id="@+id/noncheckable_group" android:checkableBehavior="none" > <item android:id="@+id/newFile" android:alphabeticShortcut="n" android:title="New"> </item> <item android:id="@+id/openFile" android:alphabeticShortcut="o" android:title="Open"> </item> <item android:id="@+id/saveFile" android:alphabeticShortcut="s" android:title="Save"> </item> </group> </menu> </item> <item android:icon="@drawable/edit" android:title="Edit"> <menu> <group android:id="@+id/edit_group" android:checkableBehavior="single" > <item android:id="@+id/cut" android:title="Cut"> </item> <item android:id="@+id/copy" android:title="Copy"> </item> <item android:id="@+id/past" android:title="Past"> </item> </group> </menu> </item> <item android:title="Help" android:icon="@drawable/help"> <menu> <group android:id="@+id/help_group" > <item android:id="@+id/about" android:title="About"> </item> <item android:id="@+id/exit" android:title="Exit"> </item> </group> </menu> </item></menu> <!-- item 菜单项 --><!-- group 菜单组 --><!-- alphabeticShortcut 字母快捷方式 --><!-- checkableBehavior 选择行为,单选还是多选 -->
package com.huc.ch03.menu;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.widget.Toast;import com.example.chapter03_resource.R;public class TestMenuActivity extends Activity {private MenuInflater mi;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.test_menu);mi = new MenuInflater(this);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmi.inflate(R.menu.file_menu, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch (item.getItemId()) {case R.id.filemenu:Toast.makeText(this, "file", Toast.LENGTH_SHORT).show();break;case R.id.about:aboutAlert("演示的是如何使用XML菜单紫云啊来定义菜单");break;case R.id.exit:exitAlert("真的要退出吗?");break;default:break;}return super.onOptionsItemSelected(item);}private void exitAlert(String string) {// TODO Auto-generated method stubAlertDialog.Builder builder=new AlertDialog.Builder(this);builder.setMessage(string).setCancelable(false).setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubfinish();}}).setNegativeButton("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubreturn;}});builder.create().show();}private void aboutAlert(String string) {// TODO Auto-generated method stubAlertDialog.Builder builder=new AlertDialog.Builder(this);builder.setMessage(string).setCancelable(true).setPositiveButton("确定",new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub}});builder.create().show();}}
二.使用代码创建菜单
2.1:选项菜单,子菜单
重写onCreateOptionsMenu和onOptionsItemSelected方法
2.2:上下文菜单(长按myTV控件)
重写onCreateContextMenu和onContextItemSelected方法
package com.example.mychapter04_ui_menu01;import org.w3c.dom.Text;import android.os.Bundle;import android.app.Activity;import android.view.ContextMenu;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.view.View;import android.view.ContextMenu.ContextMenuInfo;import android.widget.TextView;public class MainActivity extends Activity {private static final int ITEM1 = Menu.FIRST;private static final int ITEM2 = Menu.FIRST+1;private TextView myTV;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myTV=(TextView)this.findViewById(R.id.TextView01);registerForContextMenu(myTV);}@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {// TODO Auto-generated method stubmenu.add(0, ITEM1, 1, "上下文菜单1");menu.add(0, ITEM2, 0, "上下文菜单0");super.onCreateContextMenu(menu, v, menuInfo);}@Overridepublic boolean onContextItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch (item.getItemId()) {case ITEM1:setTitle("选项菜单1");break;case ITEM2:setTitle("选项菜单0");break;default:break;}return true;}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.SubMenu file= menu.addSubMenu("选项菜单1");SubMenu edit=menu.addSubMenu("选项菜单0");file.add(0, ITEM1, 0, "新建");file.add(0, ITEM1, 0, "打开");/*menu.add(0, ITEM1, 1, "选项菜单1");menu.add(0, ITEM2, 0, "选项菜单0");*/return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch (item.getItemId()) {case ITEM1:setTitle("选项菜单1");break;case ITEM2:setTitle("选项菜单0");break;default:break;}return true;}}
<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:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="测试上下文菜单(改变文字背景色)" > </TextView></RelativeLayout>
用户界面1-(菜单1)
用户界面1-(菜单2)
0 0
- 用户界面1-(菜单)
- Android用户界面-菜单总结
- Android用户界面-创建菜单
- 图形用户界面--窗口菜单
- Android开发指南-用户界面-菜单特性
- Android开发指南-用户界面-创建菜单
- android用户界面——菜单menu
- Android开发指南-用户界面-创建菜单
- Android开发指南-用户界面-菜单特性
- Android开发指南-用户界面-创建菜单 .
- Android 用户界面---菜单(Menus 一)
- Android 用户界面---菜单(Menus 二)
- Android 用户界面---菜单(Menus 三)
- Java 图形用户界面 树形菜单的创建
- Android开发指南-用户界面-菜单特性
- Android开发指南-用户界面-创建菜单
- Android 用户界面---菜单(Menus 一)
- Android 用户界面---菜单(Menus 二)
- js之Event Loop?阻塞模式/非阻塞模式
- 三天培训之泛型
- strchr函数
- 命令模式-Command
- Java堆溢出
- 用户界面1-(菜单)
- 工作四年后第一次面试
- Socket使用大全
- 【D3DX日记】狭义材质与广义材质的区别
- CPU与linux内核对中断的处理
- 职责链模式- Chain of Responsibility
- IOS 并发处理
- JDBC 关于通用查询
- android4.2 添加其他默认输入法