Android学习笔记(2)——基本控件二
Menu 控件
不需要在布局文件中设置Menu的样式等,只需要在Activity中Override onCreateOptionsMenu(Menu menu)方法,在方法中对menu进行添加和排序等。添加menu中item的方法为add (int groupId, int itemId, int order, CharSequence title),这里有4个参数,第一个是groupId,若设置为单一的groupId,则menu中的Item顺序会按照order排列,也就是按照第三个参数order排列;但是,如果有2个groupId,那么这时menu的显示顺序为group1的item1,group2的item1,group1的item2,group2的item2……以此类推,即各个group轮流显示item。第二个参数是Item的唯一标识,要保持相互不一致。第三个参数为group中item的显示顺序;第四个参数为item的显示的名称。
代码片段如下:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
//group1
menu.add(1, 1, 1, R.string.aa);
menu.add(1, 2, 2, R.string.bb);
menu.add(1, 3, 3, R.string.cc);
//group2
menu.add(2, 4, 1, R.string.dd);
menu.add(2, 5, 2, R.string.ee);
menu.add(2, 6, 3, R.string.ff);
return true;
}
当然,还有其他的add方法,上述add方法是最详细的。
此时,运行android虚拟机,然后点击menu的按钮,可得如下排列的menu:
!!!请注意各个按钮的排列顺序。
然后,当然要对这些按钮进行一些事件的添加了。
这里需要Override onOptionsItemSelected(MenuItem item) 方法,参数item即为我们点击的该item。
在这个函数里,我们可以用switch或者其他条件判断语句来对不同的按钮做出不同的事件处理,下列代码片段是对A和F做了事件处理:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case 1:
Toast.makeText(ControlDemo2Activity.this,
String.valueOf(item.getItemId()), Toast.LENGTH_SHORT)
.show(); //弹出所选中item的itemId
break;
case 6:
相关新闻>>
- 发表评论
-
- 最新评论 更多>>