一、Android UI初识
Android 所有UI类都建立在View和ViewGroup两个类的基础上。所有View的子类成为Widget,所有ViewGroup的子类成为layout。其层次结构如下:
1.Android中的菜单
(1)Option menu(选项菜单)
单击菜单按键时弹出的菜单就是啦~ 选项菜单的菜单项只有6个(>6用“更多”选项展示)。创建步骤如下:
①覆盖Activity的onCreateOptionsMenu(Menu menu)方法,这个方法只会在第一次调用的时候会被实例化,当实例化时候,就不会在被调用了。
②调用Menu的add(groupId, itemId, order, titleRes)方法添加菜单项
groupId——选项组号,一般设为0;
itemId——选项的Id ;
order——顺序,一般设为0;
titelRes—— 选项的标题名字;
③菜单项被选择时,覆盖Activity的onOptionItemSelected(MenuItem item)方法响应事件
@Override
public boolean onContextItemSelected(MenuItem item){
switch(item.getItemed()){
case ITEM1:
//响应事件
break;
case ITEM2:
//响应事件
break;
......
case ITEMn:
//响应事件
break;
}
return true;
}
(2)Context menu(上下文菜单)
长时间按住屏幕的时候,弹出菜单就是啦~
①覆盖Activity的onCreateContextMenu(ContextMenu, View, ContextMenu.ContextMenuInfo)方法。
②调用Menu的add(groupId, itemId, order, titleRes)方法添加菜单项
groupId——选项组号,一般设为0;
itemId——选项的Id ;
order——顺序,一般设为0;
titelRes—— 选项的标题名字;
③菜单项被选择时,覆盖Activity的onContextItemSelected(MenuItem item)方法响应单击事件
④调用registerForContextMenu()方法,为视图注册上下文菜单。
(3)Sub menu(子菜单)
①覆盖Activity的onCreateOptionsMenu(Menu menu)方法。调用Menu的addSubMenu()方法添加子菜单项。
②调用SubMenu的add(groupId, itemId, order, titleRes)方法添加子菜单项
groupId——选项组号,一般设为0;
itemId——选项的Id ;
order——顺序,一般设为0;
titelRes—— 选项的标题名字;
③菜单项被选择时,覆盖Activity的onOptionsItemSelected(MenuItem item)方法响应单击事件
2.Android对话框
程序运行中的弹出窗口
(1)AlertDialog——警告对话框
该对话框一般会有几个选择按钮、标题、提示信息。要求用户作出选择。创建步骤如下 :
①获得AlertDialog的静态内部类Builder对象,创建对话框
②通过Builder对象设置对话框标题、按钮及按钮响应事件
setTitle :为对话框设置标题
setIcon :为对话框设置图标
setMessage:为对话框设置内容
setView : 给对话框设置自定义样式
setItems :设置对话框要显示的一个list,一般用于显示几个命令时
setMultiChoiceItems :用来设置对话框显示一系列的复选框
setPositiveButton :给对话框添加"Yes"按钮
setNegativeButton :对话框添加"No"按钮
③调用Builder的create()方法创建对话框
④调用AlertDialog的show()方法显示对话框
除了以上方法,对话框还可以像上下文菜单一样设置多个条目选项。
(2)ProgressDialog——进度对话框
(3)DatePickerDialog——日期选择对话框
(4)TimePicketDialog——时间选择对话框
几种对话框的例子见(http://www.oschina.net/question/54100_32486)
3.Android中的提示信息(Toast)
创建步骤:①调用Toast的静态方法makeText(Context context, CharSequence text, int duration)添加显示文本和时长
context—— 调用的上下文,通常为Application或Activity对象
text—— 提示消息
duration:——显示的时间长短,值为 Toast.LENGTH_LONG或Toast.LENGTH_SHORT
②调用Toast的show()显示