美文网首页
自定义View的理解

自定义View的理解

作者: wjploop | 来源:发表于2019-08-27 11:04 被阅读0次
  • 为什么要做?

普通的开发中,自定View的工作相对较少的,与其造轮子使用,现有的View(Widget,布局)一般都能满足我们日常的使用。但掌握造轮子的原理,对我们使用或改装轮子还是很有帮助。

  • 怎么做?

一个无交互的View,包括测量,布局,绘制。
对应View的3个回调方法:

//测量当前View以及其内容(子View)
//作为约定,在重写该方法之后,需要确定mMeasureWidth, mMeasureHeight
onMeasure(int widthMeasureSpec, int heightMeasureSpec)

//如何放置子View,即确定子View的位置
void onLayout(boolean changed, int left, int top, int right, int bottom) 

//在本视图在绘制什么
void onDraw(Canvas canvas) 

三个步骤,并不是都要实现的。
比如一个Framelayout,作为承载View的容器,它不用绘制什么,仅仅是做好怎么放置子View的工作既可, 实现onMeasure() , onLayout()方法。
而一个ImageView,用来展示一个图片,它的主要职责是确定好自己的大小以及如何绘制自身,需要实现onMeasure(), onLayout()

相关文章

  • 自定义View----总结

    这一段时间写了不少自定义View,总算对自定义View有了一个大体上的理解,根据自己的理解自定义View其实总体分...

  • 深入理解自定义View - paint(二)

    深入理解自定义View - paint(二) 上一章 上一章 深入理解自定义 View - Paint(一) 效果...

  • 自定义View之旅·1

    一、必须要理解的知识 1.自定义View分类: 重写View 重写系统组件 重写Layout 2.自定义View的...

  • View的工作原理

    目录 初识ViewRoot和DecorView 理解MeasureSpec View的工作流程 自定义View 初...

  • 自定义view之onMeasure()的理解

    本文主要记录下对于自定义view中方法的理解。对于自定义view有三大流程:onMeasure(测量)、onLay...

  • 自定义View简介

    自定义View简介 自定义View简介 简单理解,就是在系统自带的空间满足不了你的需求的时候,你就会使用自定义Vi...

  • Android View(转)

    自定义View的原理自定义View基础 - 最易懂的自定义View原理系列自定义View Measure过程 - ...

  • 自定义View5---完整的自定义View

    移步自定义View系列 1.自定义view的分类自定义单一view(不含子view)继承view继承特定view如...

  • 自定义View系列

    自定义View1---知识储备自定义View2---View Measure过程自定义View3---View L...

  • 自定义控件

    1.自定义控件方法的理解 (1) View的测量onMeasure():这个方法主要是测量View宽度和高度。 在...

网友评论

      本文标题:自定义View的理解

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