सभी एंड्रॉइड विकास उपकरण महानता के साथ, विशेष रूप से संस्करण 21 के रूप में, ग्राफिकल लेआउट संपादक एक शक्तिशाली उपकरण है जिसमें प्रत्येक कॉन्फ़िगरेशन और लोकेल के लिए टुकड़ों के साथ लेआउट पर दृश्य नियंत्रण होता है । मुझे पता है कि एक विशिष्ट Activity
के लेआउट एक्सएमएल में लेआउट एडिटर के लिए एम्बेडेड जानकारी के साथ स्थिर fragment
टैग होंगे, उदाहरण के लिए tools:layout="@layout/book_collection_view_window_list"
।गैर स्थैतिक टुकड़ों के साथ लेआउट पर प्रभावी रूप से लेआउट संपादक का उपयोग करें
हालांकि, क्योंकि मैं गतिशील मेरी खिड़की में Fragments
प्रतिस्थापित करने की आवश्यकता है, मैं स्थिर fragment
टैगों का प्रयोग नहीं कर सकते, और बदले में इस तरह के रूप में FrameLayout
कंटेनर, प्रदान करने की आवश्यकता है जो मुझे replace()
में उल्लेख कर सकते हैं करने के लिए। क्या tools:layout
या tools:context
जैसा कुछ है, मैं इस कंटेनर पर उपयोग कर सकता हूं ताकि लेआउट एडिटर में केवल ब्लैक रिक्तता से अधिक हो, और इसलिए मैं डिज़ाइन और सत्यापन सुविधाओं का लाभ उठा सकता हूं जो मुझे देगी?
काफी कुछ नहीं जो मैं चाहता था, लेकिन यह एक शुरुआत है। चूंकि आप इसे पहले से इस्तेमाल कर रहे हैं, क्या आप कोड की एक पंक्ति शामिल कर सकते हैं? उपकरण में इसे दिखाने के तरीके पर कोई विचार नहीं है और जब नहीं चल रहा है (शायद एक कस्टम दृश्य बनाएं और इसे प्रोग्रामेटिक रूप से करें?)? – pjv
मैं लाल रंग के लिए 'एंड्रॉइड: पृष्ठभूमि = "# एफएफ 0000" जैसे एक्सएमएल का उपयोग करूंगा। यदि आपका 'फ्रैगमेंट' अपारदर्शी है, तो आपको लाल रंग को छिपाने के लिए कुछ भी करने की ज़रूरत नहीं है, लेकिन जब आप सबकुछ निकाल लेते हैं तो मैं इसे अपने एक्सएमएल से निकाल दूंगा। वैकल्पिक रूप से, आप रनटाइम पर 'फ्रेमलेआउट' की पृष्ठभूमि सेट कर सकते हैं जब आप 'FragmentManager' का उपयोग करके 'FragmentManager' का उपयोग करके' Fragment' जोड़ते हैं जैसे कोड: 'findViewById (R.id.frame_layout) .setBackgroundColor (Color.TRANSPARENT);' – SDJMcHattie
एक और समाधान 'फ्रेमलेआउट' उप वर्ग के लिए है और 'addChild()' विधियों को ओवरराइड करने जैसा कुछ करता है और 'super()' को कॉल करने से पहले पृष्ठभूमि रंग साफ़ करता है। या, यदि रचनाकार में पहचानना संभव है कि लेआउट को उपकरण द्वारा तत्काल किया गया था, तो प्रोग्राम को पृष्ठभूमि में एक यादृच्छिक रंग सेट करें। यह सब बहुत अधिक लगता है जब आप अपने एक्सएमएल को स्थापित करने के बाद रंग हटा सकते हैं। – SDJMcHattie