各位看官们,大家好,上一回中咱们说的是Android中自定义View的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!
看官们,我们在前面章回中介绍了自定义View的具体步骤,这些步骤主要体现在重写View的方法:onMeasure(),onLayout()
和onDraw()
。在接下来的章回中,我们就介绍如何重写这些方法。不过在介绍之前,我们先看看系统中的View是如何重写这些方法的,我们以常见的LinearLayout
(准确来讲,它是ViewGroup)为例来说明.
我们先来看看onMeasure()
方法,下面是具体的源代码,请大家参考:
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (mOrientation == VERTICAL) {
measureVertical(widthMeasureSpec, heightMeasureSpec);
} else {
measureHorizontal(widthMeasureSpec, heightMeasureSpec);
}
}
代码里依据布局的水平和垂直属性分别进行了处理,具体的处理代码比较多,大家可以到/frameworks/base/core/java/android/widget/LinearLayout.java文件中查看这两个函数的源代码。源代码的主要功能就是计算出View的各个坐标值,也就是长宽等变量的数值。还有就是,它对子View也进行了计算,毕竟它是ViewGroup,里面还有其它的子View.
各位看官,关于Androd中自定义View的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!