ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Android开发 >> Android开发之自定义控件二---onLayout详解

Android开发之自定义控件二---onLayout详解(2/7)

来源:网络整理     时间:2016-01-26     关键词:

本篇文章主要介绍了"Android开发之自定义控件二---onLayout详解",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下: 话说一个乞丐在看一个程序员写程序,程序员遇到一个问题怎么都解决不了,这时乞丐说这少个分号,程序员照做结果问题解决了,就问:你怎么知道?乞丐笑笑说:我之前就是干这...

  1. protected void onLayout(boolean changed, int left, int top, int right, int bottom) {  
  2.     }  

 啊?啥都没有,你这是弄啥嘞?其实仔细想想你就会理解,因为onLayout的目的是确定子View在父View中的位置,那么这个步骤肯定是由父View来决定的,因此在View中onLayout是一个空的实现,既然如此我们就去看看ViewGroup的onLayout的源码呗。

ViewGroup——onLayout

[java] view plain copy

  1. @Override  
  2.     protected abstract void onLayout(boolean changed,  
  3.             int l, int t, int r, int b);  

我们看到它是一个抽象的方法,我们都知道当继承一个类时必须实现其中的抽象方法,这也就是说在自定义ViewGroup时我们必须实现onLayout方法。在上一篇我们就说过onLayout的作用就是确定子View的位置,那么它是怎样确定子View的位置的呢?其实它是通过四个参数 l,t,r,b即代表距离父View的左上右下的距离,看张图你就会明白它的含义

Android开发之自定义控件二---onLayout详解

mLeft,mTop,mRight,mBottom的讲解

mLeft——View.getLeft():子View的左边界到父View的左边界的距离

[java] view plain copy

  1.      // 获取子View的左边界到父View的左边界的距离  
  2. ublic final int getLeft() {  
  3. return mLeft;  

mTop——View.getTop():子View的顶部到父View顶部的距离

mRight——View.getRight():子View的右边界到父View的左边界的距离

相关图片

相关文章