自定义View

一、LayoutInflater的工作原理

加载布局:

  1. 实例化:LayoutInflater.from(context)

  2. 调用inflate() 加载布局:layoutInflater.inflate(resourceId,root)

    1. resourceId:要加载的布局Id

    2. root:在该布局外再嵌套一层父布局,不需要则传null

  3. addView()用于为布局添加多个View

 

注意事项:

嵌入主布局的小布局xml中,最外层是没有办法设置layout_width、layout_height的,因为这些参数都是相对于父布局来说的。平时创建的布局其实是在最外层在嵌套一个FrameLyout,可通过getParent() 获取父布局验证。

二、视图状态:

setEnable()   传入true可用,false不可用

requestFocus()    获取焦点

window_focused()   当前视图是否处于正在交互的窗口

setSelected()    当前视图是否处于选中状态,决定于传入true、false

setPressed()    当前视图是否处于按下状态

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值