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

时间:2011-01-05 13:23:57

标签: android android-layout

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

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

我描述了以下问题 -

  1. 请仔细阅读以下链接 -
  2. 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(查看))

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

      那么,Spinner是View还是ViewGroup?

      请更新我的观点?

1 个答案:

答案 0 :(得分:5)

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

  

这个类代表基本的   用户界面的构建块   组件。一个视图占据了一个   屏幕上的矩形区域是   负责绘画和活动   处理。 View是基类   小部件,用于创建   交互式UI组件(按钮,   文本字段等)。 ViewGroup   子类是的基类   布局,看不见   容纳其他视图的容器(或   其他ViewGroups)并定义他们的   布局属性

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

ViewGroup继承自View。布局和更复杂的小部件(如Spinner)继承自ViewGroup

因此,Spinner既是View又是ViewGroup,因为它继承自两者。它也是一个小部件。 ListView也是如此。