美文网首页
Android自定义控件

Android自定义控件

作者: EvanPoison | 来源:发表于2017-05-14 15:42 被阅读18次
    • setContentView()方法的理解:设置id为content的布局(FrameLayout)的子view,即我们的布局添加到该帧布局下
    • 自定义view的生命周期
      • 创建:两种创建方式-对应两种构造方法
        onFinishInflate():当布局加载完成的时候回调
        onattachedtowindow():当此view附加到窗体上时回调该方法
      • 测量
        • measure():不可重写,由系统去测量该view的宽高,测量完毕后调用onMeasure()
        • onMeasure():可以重写,系统在这里保存测量的宽高,可以在这里获取测量的宽高 getMeasuredWidth(), getMeasuredHeight()
      • 布局
        • 确定view的坐标
          下面是一个自定义view的生命周期相关的方法:、
          第一次测量的时候,宽高为零,调用layout确定位置,发现changed(宽高由变化),所以重新测量,重新布局
    0CWBEWC_R7R3RZMUP2NLY5M.png
    • 绘制:draw()和onDraw()
    • 强制重绘:
      invalidate():只能在主线程执行(会执行draw()和onDraw())
      postInvalidate():可以在主线程或分线程执行
    • 事件处理
      事件分发:
      事件处理:
      事件消费:
      事件拦截:
      反拦截:
    • 自定义view的死亡:activity销毁或者手动从父视图中移除

    相关文章

      网友评论

          本文标题:Android自定义控件

          本文链接:https://www.haomeiwen.com/subject/wkttxxtx.html