[英]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.