2011-12-23 17 views
7

एंड्रॉइड ViewGroupView से विरासत में है। एक ViewGroup एक कंटेनर है जो Views रखता है।एंड्रॉइड व्यू और व्यू ग्रुप

ViewGroup (LinearLayout) 
View (TextView) 

क्यों एंड्रॉयड में किया था लोगों रचना के बजाय Inheritance के रूप में इस रिश्ते को परिभाषित किया। ViewGroup के रूप में Views है यह संरचना नहीं होनी चाहिए?

+0

संभावित डुप्लिकेट http://stackoverflow.com/questions/27352476/difference: - उदाहरण EditText, बटन, TextView आदि

जानकारी के लिए लिंक का उल्लेख कर रहे हैं -between-व्यू और viewgroup में एंड्रॉयड) – Suragch

उत्तर

11

मुझे लगता है कि आप शब्द पर भी लटका रहे हैं।

एक "व्यू ग्रुप" में "व्यू" से "टेक्स्ट व्यू" और "इमेज व्यू" या ... के लिए और अधिक ... "स्क्रॉलव्यू" या "SurfaceView" के रूप में "व्यू" से प्राप्त करने के लिए जितना अधिक कारण है "(बाद वाले दो दोनों" चीजें हैं ")।

शायद "देखें" शब्दों की सबसे अच्छी पसंद नहीं थी ... लेकिन वर्ग विरासत पूरी तरह से समझ में आता है। क्या यह उपवर्गों नाम हैं :)

IMHO है ... की परवाह किए बिना

0

Viewgroup विचारों के गुणों को विरासत और अन्य विचारों के साथ अधिक करता है और viewgroup

3

मुझे लगता है कि इस समग्र डिज़ाइन पैटर्न की एक महान उदाहरण है :

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

हालांकि नामकरण सबसे अच्छा नहीं हो सकता है ...

1

एक ViewGroup एक (के उपवर्ग) View है, क्योंकि यह महत्वपूर्ण मायनों में एक दृश्य के रूप में काम कर सकते हैं: (अपने बच्चे को प्रदर्शित करके

  • यह एक लेआउट एक्सएमएल फ़ाइल
  • यह स्क्रीन पर प्रदर्शित किया जा सकता है में एक तत्व हो सकता है विचारों की अपनी पृष्ठभूमि का रंग, आदि)
  • यह (दृश्य पदानुक्रम के बाकी setContentView() के माध्यम से
  • यह एक गतिविधि की सामग्री दृश्य के रूप में सेवा कर सकते हैं के साथ फुलाया जाता है)

तो यह वास्तव में View है।

मैं मानता हूं कि वर्ग नाम ViewGroup थोड़ा उलझन में है, क्योंकि ऐसा लगता है कि यह एक समूह है, न कि एक दृश्य। इसे ViewGroupView कॉल करना अनावश्यक होने पर अधिक तार्किक हो सकता है।

2

पढ़ना the official doc सुनहरा नियम है।

एक व्यू ग्रुप एक विशेष दृश्य है जिसमें अन्य विचार (बच्चों को बुलाया जा सकता है) दृश्य समूह लेआउट और दृश्य कंटेनर के लिए आधार वर्ग है। यह वर्ग ViewGroup.LayoutParams क्लास को भी परिभाषित करता है जो लेआउट पैरामीटर के लिए बेस क्लास के रूप में कार्य करता है।


आप अभी भी पता लगाना नहीं है, तो यह क्या है, गूगल इन छवियों के साथ खोज:

enter image description here

0

एक ViewGroup एक विशेष विचार है कि अन्य दृश्य हो सकते हैं है। - व्यू समूह लेआउट और दृश्य कंटेनर के लिए बेस क्लास है - उदाहरण के लिए, रिलेवेटिवआउट व्यू ग्रुप है जिसमें टेक्स्ट व्यू (व्यू), और अन्य लेआउट भी शामिल हैं।

जानकारी के लिए लिंक देखें: https://developer.android.com/reference/android/view/ViewGroup.html

एक दृश्य यूजर इंटरफेस घटकों के लिए मूल निर्माण खंड का प्रतिनिधित्व करता है -यह स्क्रीन पर आयत पर है और ड्राइंग और हैंडलिंग की घटनाओं के लिए जिम्मेदार है। https://developer.android.com/reference/android/view/View.html

[एंड्रॉयड में देखें और ViewGroup के बीच अंतर] (की
संबंधित मुद्दे