【问题标题】:Difference between View and ViewGroup in AndroidAndroid中View和ViewGroup的区别
【发布时间】:2015-02-05 18:47:15
【问题描述】:

Android 编程中ViewViewGroup 有什么区别?

【问题讨论】:

标签: android view viewgroup


【解决方案1】:

查看

  1. View 对象是 Android 中用户界面 (UI) 元素的基本构建块。
  2. View 是一个简单的矩形框,可以响应用户的操作。
  3. 例如EditTextButtonCheckBox 等。
  4. View 指的是 android.view.View 类,它是所有 UI 类的基类。

视图组

  1. ViewGroup 是隐形容器。它拥有ViewViewGroup
  2. 例如,LinearLayout 是包含 Button(View) 和其他布局的 ViewGroup
  3. ViewGroup 是布局的基类。

【讨论】:

  • 另外我觉得值得注意的是,ViewGroup 是 View 的子类
  • 那么,如果 ViewGroup 是 View 的子类意味着 View 是 Layouts 而不是 ViewGroup 的基类?
  • @Shivanshu 这取决于您所说的“基类”是什么意思。 class View in turn extends Object,那么你会说Object 是布局的基类吗?
【解决方案2】:

Below image is the answer。不要把它想得太复杂。

【讨论】:

  • 直截了当。图片以非常务实的方式解释它,这很好,但上面答案的定义似乎也是必要的,以便为整个答案添加一些重要的东西。
【解决方案3】:
  1. ViewGroup 是一个特殊的视图,可以包含其他视图(称为子视图)。视图组是布局和视图容器的基类。这个类还定义了ViewGroup.LayoutParams 类,它作为布局参数的基类。

    View 类代表用户界面组件的基本构建块。 View 在屏幕上占据一个矩形区域,并且是 负责绘图和事件处理。视图是基类 用于创建交互式 UI 组件的小部件 (按钮、文本字段等)。

  2. 示例:ViewGroup (LinearLayout)、View (TextView)

Reference

【讨论】:

    【解决方案4】:

    View 是 android 中UI(用户界面)的基本构建块。视图是一个响应用户输入的小矩形框。例如:EditTextButtonCheckBox 等。

    ViewGroup 是其他视图(子视图)和其他视图组的不可见容器。例如:LinearLayout 是一个视图组,其中可以包含其他视图。

    ViewGroup 是一种特殊的视图,它从 View 作为其基类扩展而来。 ViewGroup 是布局的基类。

    顾名思义,视图是单数的,视图组是ViewGroup

    更多信息: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html

    【讨论】:

      【解决方案5】:

      ViewGroup 本身就是一个View,它可以作为其他视图的容器。它扩展了View 类的功能,以便提供有效的方式来布局子视图。

      例如,LinearLayout 是一个 ViewGroup,它允许您定义您希望放置子视图的方向,这就是您需要做的所有事情,而 LinearLayout 将负责其余的工作。

      【讨论】:

        【解决方案6】:

        Viewgroup 继承视图的属性,并与其他视图和视图组一起做更多事情。

        查看 Android API:http://developer.android.com/reference/android/view/ViewGroup.html

        【讨论】:

          【解决方案7】:

          ViewGroup 中,您可以添加一些其他Views 作为孩子。 ViewGroup 是布局和视图容器的基类。

          【讨论】:

            【解决方案8】:

            View 是所有组件的超类,如TextView, EditText, ListView, 等。 而ViewGroup 是 Views(TextView, EditText, ListView, etc..) 的集合,有点像容器。

            【讨论】:

              【解决方案9】:

              View 对象是用户界面 (UI) 的组件,如按钮或文本框,也称为小部件。

              ViewGroup 对象是一个布局,即其他 ViewGroup 对象(布局)和 View 对象(小部件)的容器。在另一个布局中可以有一个布局。它被称为嵌套布局,但它会增加绘制用户界面所需的时间。

              应用程序的用户界面是使用 ViewGroup 和 View 对象的层次结构构建的。在 Android Studio 中,可以使用 Component Tree 窗口来可视化这个层次结构。

              Android Studio 中的布局编辑器可用于在布局中拖放视图对象(小部件)。它简化了布局的创建。

              【讨论】:

                【解决方案10】:

                简单来说View是我们在使用应用程序时与之交互的UI元素,例如按钮,编辑文本和图像等。View是Android.view.View的子类 虽然视图组是包含所有这些视图的容器,除了线性或框架布局等其他视图组之外,还包含其中的所有视图。例如,如果我们将根元素设计为线性布局,现在我们的主要布局是其中的线性布局,我们可以采用另一个视图组(即另一个线性布局)和许多其他视图,如按钮或 textview 等。

                【讨论】:

                  【解决方案11】:

                  ViewGroup 描述了其组中视图的布局。 ViewGroups 的两个基本示例是 LinearLayout 和 RelativeLayout。进一步打破线性布局,您可以拥有垂直线性布局或水平线性布局。如果您选择垂直线性布局,您的视图将垂直堆叠在屏幕上。两个最基本的视图示例是 TextView 和 Button。因此,如果您有一个垂直线性布局的 ViewGroup,您的视图(例如 TextViews 和 Buttons)将垂直排列在您的屏幕下方。

                  当其他海报显示嵌套的 ViewGroups 时,它们的意思是,例如,我的 Vertical LinearLayout 中的一行实际上可能在较低级别是水平排列的几个项目。在这种情况下,我会将 Horizo​​ntal LinearLayout 作为我的顶级 Vertical LinearLayout 的子级之一。

                  嵌套视图组示例:
                  父 ViewGroup = 垂直线性布局

                  第 1 行:TextView1
                  第 2 行:按钮 1
                  Row3: Image TextView2 Button2 第 4 行:TextView3
                  第 5 行:按钮 3

                  【讨论】:

                  • 嵌套视图组示例:
                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2010-11-17
                  • 1970-01-01
                  • 2016-07-24
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-10-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多