当前标签 / ViewGroup / 总共1篇

Android内部分享[12]——Android中自定义View和ViewGroup

View 和 ViewGroup 的关系

在开始自定义组件 View 和 ViewGroup 之前我们先来理解一下它们之间的关系,在 Android 中所有 UI 视图组件的根类是 View,而 ViewGroup 继承自 View,但是需要注意的是 ViewGroup 是一个抽象类.

android.view.View 类:

@UiThread
public class View implements Drawable.Callback, KeyEvent.Callback,
        AccessibilityEventSource {
    //...
}

android.view.ViewGroup 类:

@UiThread
public abstract class ViewGroup extends View implements ViewParent, ViewManager {

    protected ArrayList<View> mDisappearingChildren;

    //...
}

从上面代码可以看出来一个 ViewGroup 中可以包含多个 View,也就是说 ViewGroup 既是一个容器又是一个 View,这样就可以将 ViewGroup 也作为 View 添加到这个集合中了,于是就可以形成如下图所示的树状结构。

Android 视图树状结构关系

阅读更多