自定义控件流程

      看慕课网的视频,整理了自定义控件的流程,从自定义属性、测量、布局、绘制、手势事件、事件拦截等多个步骤。

      1.自定义属性的声明与获取

      分析需要的自定义属性,在res/values/attrs.xml定义声明,在layout xml文件中进行使用,在view的构造方法中获取。

       2.测量

       3种测量模式:exactly、at_most、unspecificed

       3.布局

        决定子view的位置,尽可能将onmeasure中一些方法移动到此方法中,

        4.绘制onDraw

         绘制之线程:ui线程中更新界面用invalidate方法,子线程中更新用postinvalidate方法。

        Canvas.draw****,draw多种方法,圆 三角形 贝塞尔函数等,比较多,需要研究

        Canvas几种动画,translater 、rotate、scale、skew也会用到

        paint,该类保存了绘制几何图形、文本和位图的样式和颜色信息。也就是说我们可以使用Paint保存的样式和颜色,来绘制图形、文本和bitmap,这就是Paint的强大之处。

         save方法用于临时保存画布坐标系统的状态

         restore方法可以用来恢复save之后设置的状态,

        5.ontouchevent

        触摸事件处理,手势事件监听,包括move、up、down多种事件。

       6.onintercepttouchevent

        事件拦截,包括父控件拦截子控件事件,子控件要求父控件拦截事件等方法。

 

   

       

       

    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值