MyView (संदर्भ संदर्भ)
प्रोग्राम के दौरान दृश्य को अस्थिर करते समय उपयोग किया जाता है।
माईव्यू (संदर्भ संदर्भ, गुणनिष्ठ गुण)
LayoutInflaterXml विशेषताएँ लागू करने के लिए उपयोग किया जाता है । यदि इस विशेषता में से एक का नाम है style, तो लेआउट xml फ़ाइल में स्पष्ट मानों की तलाश करने से पहले विशेषताओं को शैली में देखा जाएगा।
माईव्यू (संदर्भ संदर्भ, एटिट्यूड अटार्स, इंट डिफाइटल एटर)
मान लें कि आप styleप्रत्येक लेआउट फ़ाइल में निर्दिष्ट किए बिना सभी विजेट के लिए एक डिफ़ॉल्ट शैली लागू करना चाहते हैं । एक उदाहरण के लिए सभी चेकबॉक्स को डिफ़ॉल्ट रूप से गुलाबी करें। आप इसे डिफॉल्टलेक्टर के साथ कर सकते हैं और फ्रेमवर्क आपके विषय में डिफ़ॉल्ट शैली को खोजेगा।
ध्यान दें कि कुछ समय पहले defStyleAttrगलत तरीके से नामित किया गया defStyleथा और इस बारे में कुछ चर्चा है कि क्या इस निर्माणकर्ता की वास्तव में आवश्यकता है या नहीं। Https://code.google.com/p/android/issues/detail?id=12683 देखें
माईव्यू (संदर्भ संदर्भ, एटिट्यूड एटसेट्स, इंट डिफाइटल एटर, इंट डिफाइटलइएस)
यदि आप अनुप्रयोगों के आधार विषय पर नियंत्रण रखते हैं, तो तीसरा निर्माता अच्छा काम करता है। यह Google के लिए काम कर रहा है क्योंकि वे डिफ़ॉल्ट विजेट्स के साथ अपने विजेट्स को शिप करते हैं। लेकिन मान लीजिए कि आप एक विजेट लाइब्रेरी लिख रहे हैं और आप चाहते हैं कि आपके उपयोगकर्ताओं को बिना थीम के ट्विस्ट करने के लिए एक डिफ़ॉल्ट शैली सेट की जाए। अब आप defStyleResइसे 2 पहले कंस्ट्रक्टर में डिफ़ॉल्ट मान पर सेट करके उपयोग कर सकते हैं :
public MyView(Context context) {
super(context, null, 0, R.style.MyViewStyle);
init();
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs, 0, R.style.MyViewStyle);
init();
}
सब मिलाकर
यदि आप अपने स्वयं के विचारों को लागू कर रहे हैं, तो केवल 2 पहले निर्माणकर्ताओं की आवश्यकता होनी चाहिए और उन्हें रूपरेखा द्वारा बुलाया जा सकता है।
यदि आप चाहते हैं कि आपके दृश्य एक्स्टेंसिबल हों, तो आप अपने वर्ग के बच्चों के लिए वैश्विक स्टाइलिंग का उपयोग करने में सक्षम होने के लिए 4 वें कंस्ट्रक्टर को लागू कर सकते हैं।
मुझे 3rd कंस्ट्रक्टर के लिए वास्तविक उपयोग का मामला नहीं दिख रहा है। हो सकता है कि एक शॉर्टकट यदि आप अपने विजेट के लिए एक डिफ़ॉल्ट शैली प्रदान नहीं करते हैं, लेकिन फिर भी अपने उपयोगकर्ताओं को ऐसा करने में सक्षम होना चाहते हैं। इतना नहीं होना चाहिए।