[英]Android View and ViewGroup
在 Android 中ViewGroup
继承自View
。 ViewGroup
是一个包含Views
的容器。
ViewGroup (LinearLayout)
View (TextView)
为什么 Android 的人们将这种关系定义为Inheritance
而不是组合。 由于ViewGroup
包含Views
不应该是组合吗?
我认为你对措辞太执着了。
“ViewGroup”完全有理由从“View”继承“TextView”和“ImageView”或……更重要的是……“ScrollView”或“SurfaceView”(后者两个都“包含东西”)。
也许“视图”不一定是术语的最佳选择……但类层次结构完全合理。 不管它的子类被命名为什么:)
恕我直言 ...
ViewGroup
是View
的(子类),因为它可以在重要方面充当视图:
setContentView()
) 所以它真的是一个View
。
我同意类名ViewGroup
有点混乱,因为它听起来像是一个组,而不是一个视图。 如果笨拙,将其称为ViewGroupView
可能更合乎逻辑。
为什么 Android 的人们将这种关系定义为继承而不是组合? 由于 ViewGroup 包含 Views 不应该是组合吗?
在这种情况下,继承和组合并不相互排斥。 ViewGroup 是一个视图(继承) ,一个 ViewGroup 可以包含视图(组合)。
阅读官方文档是黄金法则。
ViewGroup 是一个特殊的视图,可以包含其他视图(称为子视图)。视图组是布局和视图容器的基类。 该类还定义了 ViewGroup.LayoutParams 类,该类用作布局参数的基类。
如果您仍然没有找到它是什么,请使用谷歌图片搜索:
ViewGroup 是一种特殊的视图,可以包含其他视图。 - 视图组是布局和视图容器的基类 - 例如,RelativeLayout 是包含 TextView(View) 和其他布局的 ViewGroup。
参考信息链接: https : //developer.android.com/reference/android/view/ViewGroup.html
视图代表用户界面组件的基本构建块——它在屏幕上占据矩形,负责绘制和处理事件。 - 示例有 EditText、Button、TextView 等
参考信息链接: https : //developer.android.com/reference/android/view/View.html
视图组继承视图的属性,并与其他视图和视图组做更多的事情
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.