菜单 Menu
菜单的分类
1 选项菜单(OptionMenu)
选项菜单 是一个应用的主菜单项,用于放置对应用产生全局影响的操作;
常用的创建菜单的方式是 通过 XML,具体创建过成如下:
item 的一些属性
2 上下文菜单 (ContextMenu)
长按某个 VIew 不放,就会在屏幕中间弹出 ContexMenu
有两种方式:
1 一般普通模式;
覆盖两个方法
显示效果
2 上下文操作模式
3 弹出菜单 (PopupMenu)
一个模态形式展示的弹出风格的菜单,绑在某个 View 上, 一般出现在被绑定的 View 的下方;
Menu 创建的两种方式
1 通过 XML 定义
2 通过 Java 定义
比较: 我们还是更多的采用 XML 的方式去定义 Menu,它的优势在于:
1 清晰的菜单结构;
2 将菜单内容与应用的逻辑代码分离;
3 资源适配更容易。
注意:
Menu 显示中 onCreateOptionsMenu()方法 必须返回 true;
onOptionsItemSelected() 方法返回 true;
调用父类的默认实现
对话框
AlertDialog
消息提示机制, 常用于向用户传递信息、提示或者警告用户的行为,通用的方法有:
setTitle、setMessage、create、show
自定义对话框
步骤
1 设置布局
layout 文件夹 下创建 XML 文件
2 设置 style
values 文件夹下 styles.xml 设置样式
3 自定义 Dialog
创建 Dialog 类
4 显示
实例化对话框(参数1: 环境上下文 参数2:第二步创建的 style R.style.mydialog)并展示 show()
PopupWindow 弹窗
步骤
1 创建 PopupWindow 对象实例;
2 设置背景、注册事件监听器和添加动画;
3 显示 PopupWindow;
创建动画的三个步骤
① 创建动画资源
② 创建一个 style 应用动画资源
③ 对当前弹窗的动画风格设置为第二步的资源索引
数组适配器
只能用来显示单一的文本
注意 对于 自定义的布局 需要注意传递的参数
ViewPage
应用场景:1 引导界面、相册多图片浏览;2 多 Tab 页面、APP 导航;3 广告播放展示;
普通的 ViewPage
Fragment 配合 ViewPage
底部导航效果就是使用 ViewPage