各位看官们,大家好,上一回中咱们说的是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的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
博客继续讲述Android中自定义View的例子,提到之前介绍了自定义View的具体步骤,主要是重写View的方法。接下来将介绍如何重写这些方法,先以LinearLayout为例说明系统中View重写方法的情况,还给出了相关代码功能,即计算View坐标值等。
8479

被折叠的 条评论
为什么被折叠?



