id="+id/quit"
android:
title="Quit"/>
在onCreateOptionsMenu()方法中,我们这样写:
Java代码
publicbooleanonCreateOptionsMenu(Menumenu){
MenuInflaterinflater=getMenuInflater();
inflater.inflate(R.menu.options_menu,menu);
returntrue;
}
2.ContextMenu.
它需要注册到某个View对象上,当长按这个View大概2秒时间,会出现这个ContextMenu。
为某个View注册ContextMenu是用registerForContextMenu(Viewview)方法来实现。
ContextMenu在显示前都会调用onCreateContextMenu来生成menu。
onContextItemSelected用来处理选中的菜单项。
注意:
ContextMenu不支持icons和shortcutkeys.
Java代码
publicvoidonCreateContextMenu(ContextMenumenu,Viewv,
ContextMenuInfomenuInfo){
super.onCreateContextMenu(menu,v,menuInfo);
menu.add(0,EDIT_ID,0,"Edit");
menu.add(0,DELETE_ID,0,"Delete");
}
publicbooleanonContextItemSelected(MenuItemitem){
AdapterContextMenuInfoinfo=(AdapterContextMenuInfo)item.getMenuInfo();
switch(item.getItemId()){
caseEDIT_ID:
editNote(info.id);
returntrue;
caseDELETE_ID:
deleteNote(info.id);
returntrue;
default:
returnsuper.onContextItemSelected(item);
}
}
注册这个ContextMenu:
registerForContextMenu(getListView());
这里的getListView()是ListActivity的方法,它将返回一个ListView.记住任何一个View对象都可以注册一个ContextMenu。
3.Submenus
publicbooleanonCreateOptionsMenu(Menumenu){
booleanresult=super.onCreateOptionsMenu(menu);
SubMenufileMenu=menu.addSubMenu("File");
SubMenueditMenu=menu.addSubMenu("Edit");
fileMenu.add(0,NEW_ID,0,"new");
fileMenu.add(0,OPEN_ID,0,"open");
fileMenu.add(0,SAV_ID,0,"save");
editMenu.add(0,UNDO_ID,0,"undo");
editMenu.add(0,REDO_ID,0,"redo");
returnresult;
}
4.MenuFeatures
Menugroups菜单项分组的功能:
在用Menu的add()方法时,通过参数groupId的设置可以实现分组。
setGroupVisible()用来显示或者隐藏你的菜单组。
setGroupEnabled()用来启用或者禁用你的菜单组。
setGroupCheckable()用来设置你的菜单项是否可选。
setGroupCheckable()方法有三个参数intgroup,booleancheckable,booleanexclusive。
第一个参数是要设置的组,第二个参数是否可选,第三个参数为true表示单选,false表示多选。
Shortcutkeys快捷键:
我们还可以设置快捷键。
使用setAlphabeticShortcut(char),setNumericShortcut(int),setShortcut(char,int)可以设置字符,数字,组合(字符+数字)键。
注意:
ContextMenu不能添加快捷键。
---------------------------------------------------------------------------------------------
点击查看活动规则TextView及其子类,当字符容太长显示不下时可以省略号代替未显示的字符;省略号可以在显示区域的起始,中间,结束位置,或者以跑马灯的方式显示文字(textview的状态为被选中)。
其实现只需在xml中对textview的ellipsize属性做相应的设置即可。
android:
ellipsize="start"省略号在开头
android:
ellipsize="middle"省略号在中间
android:
ellipsize="end"省略号在结尾
android:
ellipsize="marquee"跑马灯显示
---------------------------------------------------------------------------------------------
设置RadioButton的前面的图片,可定制的呵呵
android:
layout_width="match_parent"
android:
layout_height="wrap_content"
android:
orientation="vertical"
android:
checkedButton="+id/lunch"
android:
id="+id/menu">
android:
text="string/radio_group_1_breakfast"
android:
id="+id/breakfast"
android:
button="null"//自己找一个图片就可以
/>
RadioButton是可以自己定义button的显示的,我给的例子就不显示button
---------------------------------------------------------------------------------------------
androidlistview的分割线可以改变颜色
android:
id="+id/android:
list"
android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
divider="#FFCC00"
android:
dividerHeight="4px"/>
---------------------------------------------------------------------------------------------
保持屏幕唤醒状态
方法1:
usePowerManagerandWakeLockAndroidManifest.xml权限:
name="android.permission.WAKE_LOCK"/>
程序中的代码:
PowerManagerpm=(PowerManager)getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLo