Android view 相关一些基础

1.自定义View的事件分发机制

我们这里已一个3层linearlayout布局来做实例:就是一个lineaLayout布局在放了一个小一点lineaLayout,然后第二个lineaLayout中又放了一个最小lineaLayout。。你们做的时候可以设置不同背景色来区分
这里写图片描述
假如我们对最内层linearlayout布局进行了一次down事件
首先由activity的dipatchTouchEvent()方法来分发该事件,将事件传给外层的linearlayout的dispatchTouchEvent()方法处理,外层布局呢就通过onInterceptTouchEvent()方法判断是自己处理还是继续分发View,由于外层不处理,继续将事件传给中层,中层处理同上,内层表示他要处理事件,事件传给内层的onTouchEvent处理,如果该方法返回值为true,那么该事件结束,否则开始传递到父控件onTouchEvent方法。

2.view绘制流程

  1. onMeasure() 计算视图大小(测量)
  2. onLayout() 确定视图位置(安放)
  3. onDraw() 绘制视图(绘制)

3.为自定义View添加并使用自定义属性的过程

1 : 在Values下创建attrs.xml(当然也可以以别的名字命名,无限制),然后在该文件中添加自定义View的自定义属性!

2 : 在自定义View的构造方法中获取自定义属性值,并将值配予相应的位置!

3 :在xml中使用自定义控件及配置其自定义属性

注:在xml使用自定义控件时一定要加 :xmlns:custom=”http://schemas.android.com/apk/res-auto” 当然你也可以写成xmlns:custom=”http://schemas.android.com/apk/res/com.wang.test”(com.wang.test是应用的报名),这两种方式没有本质上的区别。至于custom随便你喜欢命名什么都可以。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值