Android लेआउट फ़ाइलों में "टूल्स: संदर्भ" क्या है?
xml android-layout (5)
एडीटी के हाल के नए संस्करण से शुरूआत में, मैंने लेआउट एक्सएमएल फाइलों पर इस नई विशेषता को देखा है, उदाहरण के लिए:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" />
"उपकरण: संदर्भ" के लिए क्या उपयोग किया जाता है?
यह वहां लिखी गई गतिविधि के सटीक पथ को कैसे जानता है? क्या यह मैनिफेस्ट के अंदर ऐप के पैकेज को देखता है?
क्या यह कक्षाओं तक सीमित है जो संदर्भ या केवल गतिविधियों का विस्तार करते हैं? क्या यह सूची दृश्य वस्तुओं आदि के लिए प्रयोग योग्य है?
1.Description
tools: context = "activity name"
यह एपीके में पैक नहीं किया जाएगा। केवल आपके वर्तमान लेआउट फ़ाइल में ADT
लेआउट संपादक संबंधित प्रतिपादन संदर्भ सेट करें, संदर्भ प्रस्तुत करने में अपना वर्तमान लेआउट दिखाएं गतिविधि का नाम गतिविधि से मेल खाता है, अगर manifest
फ़ाइल में गतिविधि ने एक थीम सेट की है, तो ADT
लेआउट एडिटर थीम के अनुसार अपना वर्तमान लेआउट प्रस्तुत करेगा। मान लें कि यदि आप MainActivity
सेट करते हैं तो थीम सेट करें। लाइट (दूसरा), फिर आप विज़ुअल लेआउट मैनेजर ओ पृष्ठभूमि में क्या नियंत्रण होना चाहिए पृष्ठभूमि पृष्ठभूमि में देखते हैं। लाइट जैसा दिखता है। केवल आपको यह दिखाने के लिए कि आप क्या देखते हैं, आपको परिणाम मिलते हैं।
कुछ लोग कुछ समझेंगे, कुछ लोग देखते हैं कि यह भी नहीं पता, मैं स्पष्टीकरण के कुछ शब्द जोड़ूंगा:
2.Sample
एक साधारण
tools:text
लेंtools:text
, उदाहरण के लिए, कुछ और छवि,tools:context
को और समझने के लिए सुविधाजनकtools:context
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sample name1" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="sample name2" />
android: text
TextView
1 नेandroid: text
अपनायाandroid: text
, औरtools:text
उपयोग करेंtools:text
लेआउट एडिटर के दाहिने तरफTextView
2 मेंtools:text
sample name1
,sample name2
2 दो फ़ॉन्ट प्रदर्शित करेगा, अगर आप संकलन करने के लिए कोड चलाते हैं, जेनरेटapk
, टर्मिनल केवलsample name1
प्रदर्शित करता है,sample name2
शब्द नहीं दिखाता है। आप दौड़ने की कोशिश कर सकते हैं, प्रभाव कैसे देखें।
3. विशिष्ट विवरण
1. tools: context = "activity name"
यह एपीके में पैक नहीं किया जाएगा (समझ: इसके समकक्ष टिप्पणी की गई है, संकलित कोई प्रभाव नहीं है।)
2. केवल ADT
लेआउट संपादक (यानी, सिम्युलेटर के दाहिने तरफ के उपरोक्त आइकन के लिए) वर्तमान लेआउट फ़ाइल में संबंधित प्रतिपादन संदर्भ सेट किया गया है, संदर्भ को प्रस्तुत करने में वर्तमान एक्सएमएल का लेआउट गतिविधि का नाम गतिविधि से मेल खाता है, यदि मैनिफेस्ट फ़ाइल में गतिविधि एक थीम सेट करती है, तो ADT
लेआउट संपादक थीम के अनुसार अपना वर्तमान लेआउट प्रस्तुत करेगा। मान लें कि यदि आप MainActivity
सेट करते हैं तो थीम सेट करें। लाइट भी हो सकता है (अन्य)। (समझें: आपने tools: context = "activity name"
जोड़े tools: context = "activity name"
, एक्सएमएल लेआउट निर्दिष्ट गतिविधि को प्रस्तुत कर रहा है, मैनिफेस्ट फ़ाइल में एक थीम स्थापित करता है, सही सिम्युलेटर थीम शैली के ऊपर चित्रित किया गया है जो संबंधित परिवर्तनों का पालन करेगा थीम के लिए।)
4.summary
संक्षेप में, इन गुणों का मुख्य उद्देश्य मुख्य उपकरण, सिम्युलेटर डीबगिंग समय प्रदर्शन स्थिति के ऊपर लक्षित है, और संकलन काम नहीं करता है,
"टूल्स: रेफरेंस" डिज़ाइन एट्रिब्यूट्स में से एक है जो विकास ढांचे में एक्सएमएल में लेआउट सृजन की सुविधा प्रदान कर सकता है। इस विशेषता का उपयोग विकास ढांचे को दिखाने के लिए किया जाता है जो लेआउट को लागू करने के लिए गतिविधि वर्ग चुना जाता है। "टूल्स: संदर्भ" का उपयोग करके, एंड्रॉइड स्टूडियो स्वचालित रूप से पूर्वावलोकन के लिए आवश्यक विषय चुनता है।
यदि आप एंड्रॉइड ऐप डेवलपमेंट के लिए कुछ अन्य विशेषताओं और उपयोगी टूल के बारे में और जानना चाहते हैं, तो इस समीक्षा पर नज़र डालें: http://cases.azoft.com/4-must-know-tools-for-effective-android-development/
यह विशेषता मूल रूप से लेआउट के ऊपर "संबद्ध गतिविधि" चयन के लिए दृढ़ता है। रनटाइम पर, एक लेआउट हमेशा एक गतिविधि से जुड़ा होता है। यह निश्चित रूप से एक से अधिक से जुड़ा हो सकता है, लेकिन कम से कम एक। टूल में, हमें इस मैपिंग के बारे में जानने की आवश्यकता है (जो कि रनटाइम पर दूसरी दिशा में होती है; एक गतिविधि कुछ सुविधाओं को चलाने के लिए सेटकंटेंट व्यू (लेआउट) को लेआउट प्रदर्शित करने के लिए कॉल कर सकती है)।
अभी, हम इसे केवल एक चीज़ के लिए उपयोग कर रहे हैं: लेआउट के लिए दिखाने के लिए सही थीम चुनना (चूंकि मैनिफेस्ट फ़ाइल किसी गतिविधि के लिए उपयोग करने के लिए थीम पंजीकृत कर सकती है, और एक बार जब हम लेआउट से जुड़े गतिविधि को जानते हैं, तो हम चुन सकते हैं लेआउट के लिए दिखाने के लिए सही विषय)। भविष्य में, हम अतिरिक्त सुविधाओं को चलाने के लिए इसका उपयोग करेंगे - जैसे कि एक्शन बार (जो गतिविधि से जुड़ा हुआ है) को प्रस्तुत करना, क्लिक हैंक्लर आदि पर जोड़ने के लिए एक जगह।
कारण यह एक उपकरण है: नेमस्पेस विशेषता यह है कि यह टूल द्वारा उपयोग के लिए केवल एक डिज़ाइनटाइम मैपिंग है। लेआउट का उपयोग कई गतिविधियों / टुकड़ों आदि द्वारा किया जा सकता है। हम आपको डिज़ाइनटाइम बाध्यकारी चुनने का एक तरीका देना चाहते हैं जैसे कि हम उदाहरण के लिए सही विषय दिखा सकते हैं; आप इसे किसी भी समय बदल सकते हैं, जैसे आप हमारी सूचीदृश्य और खंड बाइंडिंग इत्यादि बदल सकते हैं।
(यहां पूर्ण परिवर्तन है जिसमें this पर अधिक जानकारी है)
और हाँ, ऊपर सूचीबद्ध here निकोले दिखाता है कि नया कॉन्फ़िगरेशन चयनकर्ता कैसे दिखता है और काम करता है
एक और बात: "उपकरण" नामस्थान विशेष है। एंड्रॉइड पैकेजिंग टूल इसे अनदेखा करना जानता है, इसलिए इनमें से कोई भी विशेषता एपीके में पैक नहीं की जाएगी। हम इसे लेआउट में अतिरिक्त मेटाडेटा के लिए उपयोग कर रहे हैं। यह भी है जहां उदाहरण के लिए लिंट चेतावनियों को दबाने के गुणों को संग्रहीत किया जाता है - उपकरण के रूप में: अनदेखा करें।
tools:context=".MainActivity"
इसलाइन का उपयोग एक्सएमएल फाइल में किया जाता है जो इंगित करता है कि इस जावा फाइल को एक्सेस करने के लिए कौन सी जावा स्रोत फ़ाइल का उपयोग किया जाता है। इसका मतलब है कि इस xml पूर्वावलोकन को perticular जावा फ़ाइलों के लिए दिखाएं।