Android开发:5-3、Menu、Dialog、Fragment

Menu的相关API:

在这里插入图片描述

Menu的一般使用方法:

一、optionmenu:
1、使用XML定义菜单:

1、在res/menu下新建XML文件:
XML文件以<menu>为根标签,另外俩个标签<item><group>
<menu>标签没有任何属性,可以嵌套在<item>标签中,表示子菜单的形式
<item>下不能再嵌套<item>

<item>标签属性
1、id:菜单项资源id
2、menuCategory:菜单项种类
3、orderInCategor:同类菜单项排列顺序
4、title:菜单项标题,即菜单项显示的文本
5、titleCondensed:菜单项短标题,当菜单项标题太长时会显示该属性值
6、icon:菜单项图标资源id
7、checkable:菜单项是否带复选框
8、checked:再checkable=true时,表示复选框默认状态是否被选中
9、visible:菜单项默认状态是否可视
10、enable:菜单项默认状态是否被激活
<group>标签属性
1、id
2、menuCategory:菜单项种类
3、orderInCategor:同类菜单项排列顺序
4、checkableBehavior:设置该组所有菜单项上吓死你hi的选择组件

1、all:显示CheckBox组件
2、single:显示Radio Button组件
3、none:不显示组件

2、创建optionmenu菜单
3、编写触发事件

2、使用代码定义菜单:

在这里插入图片描述在这里插入图片描述
问题:当我们动态添加icon时菜单不显示icon,4.0之前可以显示,4.0之后不显示,原因是在菜单创建时通过系统的menuBuuider创建菜单,默认icon的可显示属性为false,所以需要用到反射方法来获取该属性
该方法在菜单打开时触发
在这里插入图片描述

二、contextMenu:

1、在需要上下文菜单的控件上注册上下文菜单registerForContextMenu()
在这里插入图片描述
2、创建上下文菜单:
在这里插入图片描述
3、上下文菜单触发事件:
在这里插入图片描述

三、子菜单:

在<item>中嵌套<menu>,在<menu>中在设置<item>
在这里插入图片描述

Dialog:

Dialog是模拟异步的,弹出对话框与用户交互时后台线程还是继续执行的

常用的4种Dialog:

在这里插入图片描述

1、常用方法:
在这里插入图片描述
2、一般使用步骤:
1、实例化一个Builder对象
2、用Builder对象设置Dialog对话框
3、不同按钮的添加:

三类不同的按钮的添加:
在这里插入图片描述

4、编写响应事件:
在这里插入图片描述
在这里插入图片描述
5、用Builder.create().show()显示
推荐使用它的一个内部类AlertDialog.Builder创建。使用Builder对象,可以设置AlertDialog的各种属性,最后通过Builder.create()方法就可以得到AlertDialog对象。使用Builder.show()方法显示对话框,他就会返回一个AlertDialog对象

Fragment

1、在Android3.0中引入了Fragment的概念,目的是为了解决不同屏幕分辨率的动态和灵活的UI设计
2、Fragment必须被写成可重用的模块,因为Fragment拥有自己的生命周期和布局,可以接受、处理用户事件
3、Fragment不能单独存在,它必须嵌入到Activity中,而且Fragment的生命周期直接受所在的Activity影响
4、在Activity运行时(在onResume()之后,onPause()之前),可以单独的操作每个Fragment,如添加或者删除他们
5、执行针对Fragment的事务时,可以将事务添加到一个栈中,这个栈被Activity管理,入站的每一条即一次Fragment事务。这样就可以在Fragment级支持返回键

1、Fragment生命周期:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、Fragment常用API:
在这里插入图片描述

3、Fragment常用方法:
在这里插入图片描述
在这里插入图片描述

4、Fragment的一般使用步骤:

1、静态使用Fragment:
在这里插入图片描述
2、动态使用Fragment:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值