อะไรคือความแตกต่างระหว่าง a View
และ a ViewGroup
ในการเขียนโปรแกรม Android?
อะไรคือความแตกต่างระหว่าง a View
และ a ViewGroup
ในการเขียนโปรแกรม Android?
คำตอบ:
View
วัตถุเป็นส่วนประกอบพื้นฐานขององค์ประกอบส่วนติดต่อผู้ใช้ (UI) ใน AndroidView
เป็นกล่องสี่เหลี่ยมผืนผ้าธรรมดาที่ตอบสนองต่อการกระทำของผู้ใช้EditText
, Button
, CheckBox
ฯลฯ ..View
หมายถึงandroid.view.View
คลาสซึ่งเป็นคลาสพื้นฐานของคลาส UI ทั้งหมดViewGroup
คือภาชนะที่มองไม่เห็น มันถือView
และViewGroup
LinearLayout
เป็นViewGroup
ที่มีปุ่ม (ดู) และรูปแบบอื่น ๆViewGroup
เป็นคลาสพื้นฐานสำหรับเลย์เอาต์View
ในการเปิดขยายObject
เพื่อให้คุณจะบอกว่าObject
เป็นชั้นฐานสำหรับรูปแบบ?
A ViewGroup
คือมุมมองพิเศษที่สามารถมีมุมมองอื่น ๆ ได้ (เรียกว่าชายด์) กลุ่มมุมมองเป็นคลาสพื้นฐานสำหรับเลย์เอาต์และคอนเทนเนอร์มุมมอง คลาสนี้ยังกำหนดViewGroup.LayoutParams
คลาสซึ่งทำหน้าที่เป็นคลาสพื้นฐานสำหรับพารามิเตอร์เลย์เอาต์
View
คลาสแสดงถึง Building Block พื้นฐานสำหรับคอมโพเนนต์ส่วนติดต่อผู้ใช้ มุมมองใช้พื้นที่สี่เหลี่ยมบนหน้าจอและรับผิดชอบในการวาดภาพและการจัดการเหตุการณ์ View เป็นคลาสพื้นฐานสำหรับวิดเจ็ตซึ่งใช้ในการสร้างคอมโพเนนต์ UI แบบโต้ตอบ (ปุ่มฟิลด์ข้อความ ฯลฯ )
View
เป็นส่วนประกอบพื้นฐานของUI
(ส่วนต่อประสานผู้ใช้) ใน Android มุมมองคือกล่องสี่เหลี่ยมขนาดเล็กที่ตอบสนองต่ออินพุตของผู้ใช้ ตัวอย่าง: EditText
, Button
, CheckBox
ฯลฯ ..
ViewGroup
เป็นคอนเทนเนอร์ที่มองไม่เห็นของมุมมองอื่น ๆ (มุมมองเด็ก) และกลุ่มมุมมองอื่น ๆ เช่น: LinearLayout
เป็นกลุ่มวิวที่สามารถมีมุมมองอื่น ๆ อยู่ในนั้น
ViewGroup
เป็นมุมมองพิเศษที่ขยายจาก View เป็นคลาสพื้นฐาน ViewGroup
เป็นคลาสพื้นฐานสำหรับเลย์เอาต์
ViewGroup
เป็นชื่อรัฐดูเป็นเอกพจน์และกลุ่มของผู้ชมเป็น
ข้อมูลเพิ่มเติม: http://www.herongyang.com/Android/View-ViewGroup-Layout-and-Widget.html
ViewGroup
เป็นตัวView
ที่ทำงานเป็นคอนเทนเนอร์สำหรับมุมมองอื่น ๆ ขยายการทำงานของView
ชั้นเรียนเพื่อให้มีวิธีที่มีประสิทธิภาพในการจัดวางมุมมองของเด็ก
ตัวอย่างเช่นLinearLayout
เป็นเครื่องมือViewGroup
ที่ช่วยให้คุณกำหนดแนวที่คุณต้องการวางมุมมองของเด็กนั่นคือทั้งหมดที่คุณต้องทำและLinearLayout
จะดูแลส่วนที่เหลือ
Viewgroup สืบทอดคุณสมบัติของมุมมองและทำสิ่งต่างๆได้มากขึ้นกับมุมมองและวิวกรุ๊ปอื่น ๆ
ดู Android API: http://developer.android.com/reference/android/view/ViewGroup.html
ในViewGroup
คุณสามารถเพิ่มView
s อื่น ๆเป็นลูกได้ ViewGroup
เป็นคลาสพื้นฐานสำหรับเลย์เอาต์และดูคอนเทนเนอร์
View
เป็น SuperClass ของส่วนประกอบทั้งหมดเช่นTextView, EditText, ListView,
อื่น ๆ ในขณะที่ViewGroup
Collection of Views (TextView, EditText, ListView, etc..)
ค่อนข้างเหมือนคอนเทนเนอร์
ออบเจ็กต์ View เป็นส่วนประกอบของอินเทอร์เฟซผู้ใช้ (UI) เช่นปุ่มหรือกล่องข้อความและเรียกอีกอย่างว่าวิดเจ็ต
อ็อบเจ็กต์ ViewGroup คือเลย์เอาต์นั่นคือคอนเทนเนอร์ของอ็อบเจ็กต์ ViewGroup อื่น ๆ (เลย์เอาต์) และอ็อบเจ็กต์ View (วิดเจ็ต) เป็นไปได้ที่จะมีเค้าโครงภายในเค้าโครงอื่น เรียกว่าเลย์เอาต์แบบซ้อนกัน แต่สามารถเพิ่มเวลาในการวาดอินเทอร์เฟซผู้ใช้ได้
อินเทอร์เฟซผู้ใช้สำหรับแอปสร้างขึ้นโดยใช้ลำดับชั้นของออบเจ็กต์ ViewGroup และ View ใน Android Studio คุณสามารถใช้หน้าต่าง Component Tree เพื่อแสดงภาพลำดับชั้นนี้ได้
Layout Editor ใน Android Studio สามารถใช้ลากและวางดูวัตถุ (วิดเจ็ต) ในเค้าโครง ช่วยลดความยุ่งยากในการสร้างเค้าโครง
พูดง่ายๆว่า View เป็นองค์ประกอบ UI ที่เราโต้ตอบด้วยเมื่อใช้แอพเช่นปุ่มแก้ไขข้อความและรูปภาพเป็นต้น View เป็นคลาสย่อยของ Android.view กลุ่ม View While View คือคอนเทนเนอร์ที่มีมุมมองเหล่านี้ทั้งหมดอยู่ภายใน นอกเหนือจากกลุ่มมุมมองอื่น ๆ เช่น linear หรือ Frame Layout เป็นต้นตัวอย่างเช่นถ้าเราออกแบบและใช้องค์ประกอบรูทเป็น Linear layout ตอนนี้เลย์เอาต์หลักของเราเป็นเลย์เอาต์เชิงเส้นภายในเราสามารถใช้กลุ่มมุมมองอื่น (เช่นเลย์เอาต์เชิงเส้นอื่น) และอื่น ๆ อีกมากมาย มุมมองเช่นปุ่มหรือ textview เป็นต้น
ViewGroup อธิบายเค้าโครงของ Views ในกลุ่ม สองตัวอย่างพื้นฐานของ ViewGroups ได้แก่ LinearLayout และ RelativeLayout การแบ่ง LinearLayout ให้ดียิ่งขึ้นคุณสามารถมีทั้ง Vertical LinearLayout หรือ Horizontal LinearLayout หากคุณเลือก Vertical LinearLayout มุมมองของคุณจะซ้อนกันในแนวตั้งบนหน้าจอ สองตัวอย่างพื้นฐานที่สุดของมุมมองคือ TextView และปุ่ม ดังนั้นหากคุณมี ViewGroup ของ Vertical LinearLayout มุมมองของคุณ (เช่น TextViews และ Buttons) จะเรียงเป็นแนวตั้งลงบนหน้าจอของคุณ
เมื่อผู้โพสต์อื่น ๆ แสดง ViewGroups แบบซ้อนกันความหมายก็คือหนึ่งในแถวใน Vertical LinearLayout ของฉันอาจเป็นหลายรายการที่จัดเรียงในแนวนอนที่ระดับล่าง ในกรณีนั้นฉันจะมี Horizontal LinearLayout เป็นหนึ่งในลูกของ Vertical LinearLayout ระดับบนสุดของฉัน
ตัวอย่างของ ViewGroups ที่ซ้อนกัน:
Parent ViewGroup = Vertical LinearLayout
Row1: TextView1
Row2: Button1
Row3: Image TextView2 Button2 <- Horizontal Linear ซ้อนใน Vertical Linear
Row4: TextView3
Row5: Button3