ViewGroup的使用

View类

1,android.view类是个最基本的UI类,android上很多UI组件都是继承此类而实现的。

2,这些UI组件包括Button(按钮), TextView(文本框),CheckBox(选字框)等等。

3,那么这些UI组件应该怎么放置呢?

ViewGroup类

1,上面所说的UI组件是放置到一个专门的view容器中,这个View容器就是ViewGroup。

2,ViewGroup的作用就是对添加进它的View组件进行布局。

3,可惜,android.view.ViewGoup类是抽象类,不能直接使用它。

ViewGroup类的实现

对ViewGoup的实现的类有很多,它们有着各自的布局特点,比如LinearLayout类是把它包括的元素按照水平和竖直的方向排列。

Android关于ViewGroup的解释还是比较清楚的,通过这个我们可以看出几点:

1、ViewGroup是一个容器,而这个容器是继承与View的。

2、ViewGroup是一个基类,并且是Layout和一些View组件的基类。

1、onLayout方法

protected void onLayout(boolean changed, int left, int top, int right, int bottom) {

}

在我们继承ViewGroup时会在除了构造函数之外提供这个方法,我们可以看到,在ViewGroup的源代码中方法是这样定义的,也就是父类没有提供方法的内容,需要我们自己实现。

当View要为所有子对象分配大小和位置时,调用此方法

2、addView方法

public void addView(View child) {

    addView(child, -1);

}

这个方法是用来想View容器中添加组件用的。我们可以使用这个方法想这个ViewGroup中添加组件。

3、getChildAt方法

public View getChildAt(int index) {

    try {

        return mChildren[index];

    } catch (IndexOutOfBoundsException ex) {

        return ;

    }

}

这个方法用来返回指定位置的View。

注意:ViewGroup中的View是从0开始计数的。

简单测试:

创建一个MyViewGroup继承ViewGroup

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/KWON_QMY/article/details/83142365