ListView是Widget(View)还是Layout(Viewgroup)?

Man*_*rya 1 android android-layout

我需要您的帮助来探索Android中的一些主题.

我的理解是Widget是View,而Layout是Android中的ViewGroups.

我将问题描述如下 -

  1. 请仔细阅读以下链接 -

developer.android.com/guide/topics/ui/custom-components.html-(在开头添加http://)

developer.android.com/resources/tutorials/views/index.html - (在开头添加http://)

在第一个链接中,ListView作为Widget包含在第二个链接中,ListView已显示为Layout.

那么,ListView是Widget(View)还是Layout(Viewgroup)?

  1. Andriod的Spinner也是如此

    developer.android.com/resources/tutorials/views/hello-spinner.html-(在开头添加http://)(Link-说Spinner是Widget(View))

developer.android.com/guide/topics/ui/layout-objects.html-(在开头添加http://)说Spinner是布局(ViewGroup)

那么,Spinner是View还是ViewGroup?

请更新我的观点?

Eri*_*ine 5

通过查看类层次结构,您应该能够找到问题的答案.基类android.view.View 描述如下:

此类表示用户界面组件的基本构建块.视图占据屏幕上的矩形区域,负责绘图和事件处理.View是窗口小部件的基类,用于创建交互式UI组件(按钮,文本字段等).该亚类的ViewGroup为布局,其是保持其他视图(或其他ViewGroups)不可见的容器的基类,并定义它们的布局属性

这也描述了Android中的小部件概念.任何交互式可视组件都被视为小部件.您会发现这些组件在android.widget 包中分组.

ViewGroup继承自View.像Spinner这样的布局和更复杂的小部件依次继承ViewGroup.

所以,Spinner既是a View又是a ViewGroup,因为它继承自两者.它也是一个小部件.同样如此ListView.