android菜单响应
一.菜单的设计
Content view 是一个Activity中的主要内容,菜单、对话框和标题栏是一个Activiy中几个附属的部分。
标题栏的基本内容设置可通过Activity中的以下方法实现:
Public void setTitle(int titleID) //设置标题文字
Public void setTitle(charsequence title) //设置标题文字
Public void setTitleColor(int textClor) //设置标题文字
标题栏还可以进行一步的设置。进一步的设置需要andriod.view包中的Window抽象类。在Activity中使用getWindow()方法获得其中Window的句柄。
Window中的两个方法和标题栏的设置相关:
Pubic boolean requestFeature (int featureID) //申请特性
Public abstract void setFeatureInt(int featureId, int value) //设置特性
标题栏的设计
/*1. roid的两种Menu设计:
1.1ENU键激活,是 Options Menu ;
Icon 们:optios menu只支持文字(title)以及icon,不能设置checkable。
1.2按一个元素激活时,是ContextMeun;
Expanded menu:options menun常用“more”icon menu显示,称为expanded menu,不支持icon,其他与icon menu一样。
2.Activity使用Options Menu的实现方法:
2.1 onCreateOptionsMenu(Menu menu),第一次显示调用。
2.2onPrepareOptionsMenu(Menu menu),每次显示调用且动态改变选项菜单内容。*/
package com.cqvie;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MenuActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
// public boolean onCreateOptionsMenue(Menu menu)
// {
// super.onCreateOptionsMenu(menu);
// menu.add("菜单1");
// menu.add("abcdef");
// menu.add(1,Menu.FIRST ,Menu.FIRST,"菜单3" );
// return true;
// }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// public MenuItem add(int groupId分组号,int itemId ID号:判断谁点击了,int order 序列号,CharSquence title 标题);
super.onCreateOptionsMenu(menu);
//menu.add(1,1,1,"picture");
MenuItem item=menu.add(1,1,1,"picture");
item.setIcon(R.drawable.ic_launcher);
menu.add(1,2,2,"ebook");
MenuItem item2=menu.add(1,3,3,"recived");
item2.setIcon(R.drawable.ic_launcher);
menu.add(1,4,4,"file");
MenuItem item5=menu.add(1,5,5,"music");
item5.setIcon(R.drawable.ic_launcher);
menu.add(1,6,6,"game");
menu.add(1,7,7,"dialog");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
super.onOptionsItemSelected(item);
int id=item.getItemId();
TextView t1=(TextView) findViewById(R.id.t1);
t1.setText(id+"");
return super.onOptionsItemSelected(item);
}
二.对话框设计
Andriod 的提示信息有3种:
1.Toast 是一种提供给用户简洁信息的视图,该视图以浮于应用程序之上的形式呈现给用户。
Toast 的构造方法:toast(Context context)
Toast 信息提示常见方法:
a.Toast .maketext(getApplicationContext(), “text toast test!”,Toast .LENGTH_LONG.show();).
b.NOtification
c.在andriod中基本的NOtification就是在有事件发生时候在屏幕顶端的2.NOtification Bar 上显示一个图标。
NOtificationManager有三个公共方法:
a.cannel(int id)取消以前显示的一个通知。如果是一个短暂的通知,视图将隐藏,如果是一个持久的通知,将从状态中移走。
b.CannelAll()取消以前显示的所有通知。
c.Notify(int id ,otification notification)把通知持久地发送到状态上。
3.AlertDialog
AlertDialog是andriod中常用的一种dialog 。创建AlertDialog的对话框实例:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new AlertDialog.Builder(this).setTitle("单选框").setIcon(
android.R.drawable.ic_dialog_info).setSingleChoiceItems(
new String[] { "Item1", "Item2" }, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).setNegativeButton("取消", null).show();
}
}
显示效果: