Android View和ViewGroup

时间:2011-12-23 06:05:25

标签: android view viewgroup

Android ViewGroup继承自ViewViewGroup是一个容纳Views的容器。

ViewGroup (LinearLayout)
View (TextView)

为什么Android上的人将此关系定义为Inheritance而非组合。由于ViewGroup包含Views不应该是合成?

7 个答案:

答案 0 :(得分:12)

我认为你的措辞过于笼罩。

“ViewGroup”有很多理由继承“View”作为“TextView”和“ImageView”或者......更重要的是......“ScrollView”或“SurfaceView” (后两者都“包含东西”)。

也许“观点”不一定是最好的术语选择......但是课程层次结构完全合情合理。无论它的子类名称是什么:)

恕我直言......

答案 1 :(得分:3)

我认为这是复合设计模式的一个很好的例子:

http://en.wikipedia.org/wiki/Composite_pattern

即使命名可能不是最好的......

答案 2 :(得分:2)

阅读the official doc是黄金法则。

  

ViewGroup是一个特殊视图,可以包含其他视图(称为子视图)。视图组是布局和视图容器的基类。该类还定义了ViewGroup.LayoutParams类,该类充当布局参数的基类。

如果您仍然不知道它是什么,请使用Google图片搜索:

enter image description here

答案 3 :(得分:1)

ViewGroupView的(子类),因为它可以作为重要方面的视图:

  • 它可以是布局XML文件中的元素
  • 它可以显示在屏幕上(通过显示其子视图,自己的背景颜色等)
  • 它与视图层次结构的其余部分一起被充气
  • 它可以作为活动的内容视图(通过setContentView()

所以它确实是View

我同意类名ViewGroup有点令人困惑,因为它听起来像是一个群体,而不是一个观点。如果笨拙的话,调用它ViewGroupView可能更合乎逻辑。

答案 4 :(得分:0)

Viewgroup继承了视图的属性,并对其他视图和视图组执行了更多操作

答案 5 :(得分:0)

ViewGroup是一个可以包含其他视图的特殊视图。 - 视图组是布局和视图容器的基类 - 例如,RelativeLayout是包含TextView(View)和其他布局的ViewGroup。

参考信息链接: https://developer.android.com/reference/android/view/ViewGroup.html

View表示用户界面组件的基本构建块 - 占据屏幕上的矩形,负责绘制和处理事件。 - 例如EditText,Button,TextView等

参考信息链接: https://developer.android.com/reference/android/view/View.html

答案 6 :(得分:0)

一个界面中的所有 UI 元素 Android 应用是使用 View 构建的 和 ViewGroup 对象。

  1. View :- View 是一个绘制对象 屏幕上的某些东西 用户可以与之互动。
  2. ViewGroup :- ViewGroup 用于保存视图 和视图组。