त्रास-मुक्त तुकडे: Android चा नेव्हिगेशन आर्किटेक्चर घटक वापरणे

लेखक: John Stephens
निर्मितीची तारीख: 2 जानेवारी 2021
अद्यतन तारीख: 6 जुलै 2024
Anonim
त्रास-मुक्त तुकडे: Android चा नेव्हिगेशन आर्किटेक्चर घटक वापरणे - अनुप्रयोग
त्रास-मुक्त तुकडे: Android चा नेव्हिगेशन आर्किटेक्चर घटक वापरणे - अनुप्रयोग

सामग्री


2018 च्या आय / ओ परिषदेदरम्यान, Google ने Android अॅप्स विकसित करण्यासाठी नवीन दृष्टीकोन जाहीर केला.

Google ची अधिकृत शिफारस अशी आहे की आपल्या अ‍ॅपचा मुख्य प्रविष्टी बिंदू म्हणून काम करणारा एकल क्रियाकलाप तयार करा, त्यानंतर आपल्या अनुप्रयोगातील उर्वरित सामग्रीचे तुकडे म्हणून वितरित करा.

त्या सर्व भिन्न तुकड्यांची व्यवहार आणि आयुष्याची चक्रे जपण्याचा विचार कदाचित स्वप्नासारखा वाटू शकेल, I / O 2018 वर Google ने देखील नॅव्हिगेशन आर्किटेक्चर घटक सुरू केले जे या प्रकारच्या एकल क्रिया रचना स्वीकारण्यात आपल्याला मदत करण्यासाठी डिझाइन केलेले आहे.

या लेखात, आम्ही आपल्याला आपल्या प्रकल्पात नॅव्हिगेशन घटक कसे जोडावे आणि आपण Android स्टुडिओच्या नवीन नॅव्हिगेशन संपादकाच्या मदतीने थोड्या मदतीने एकल-क्रियाकलाप, एकाधिक-तुकड्याचा अनुप्रयोग द्रुत आणि सहजपणे कसा तयार करू शकता हे आपण दर्शवू. एकदा आपण आपले तुकडे तयार केले आणि कनेक्ट केले की आम्ही पूर्णपणे सानुकूल करण्यायोग्य संक्रमण अ‍ॅनिमेशनची श्रेणी तयार करण्यासाठी नॅव्हिगेशन घटक आणि संपादकाचा वापर करून Android च्या मानक तुकड्यांच्या संक्रमणे सुधारू.


नॅव्हिगेशन आर्किटेक्चर घटक म्हणजे काय?

अँड्रॉइड जेटपॅकचा एक भाग, नॅव्हिगेशन आर्किटेक्चर घटक आपल्याला आपल्या अनुप्रयोगाद्वारे भिन्न मार्गांचे दृश्यमान करण्यास मदत करते आणि या मार्गांची अंमलबजावणीची प्रक्रिया सुलभ करते, विशेषत: जेव्हा खंडांचे व्यवहार व्यवस्थापित करण्याचा विचार केला जातो.

नॅव्हिगेशन घटक वापरण्यासाठी, आपल्याला नेव्हिगेशन आलेख तयार करण्याची आवश्यकता असेल, जी आपल्या अ‍ॅपच्या क्रियाकलाप आणि तुकड्यांचा एकमेकांशी कसा संबंध आहे हे वर्णन करणारी एक एक्सएमएल फाइल आहे.

नॅव्हिगेशन आलेखात असे असतेः

  • गंतव्ये: वापरकर्ता नेव्हिगेट करू शकणारे वैयक्तिक पडदे
  • क्रिया: आपल्या अ‍ॅपच्या गंतव्य दरम्यान वापरकर्ता घेऊ शकणारे मार्ग

आपण Android स्टुडिओच्या नॅव्हिगेशन संपादकात आपल्या प्रकल्पाच्या नेव्हिगेशन आलेखचे व्हिज्युअल प्रतिनिधित्व पाहू शकता. खाली, आपल्याला नॅव्हिगेशन एडिटरमध्ये दिसते त्याप्रमाणे तीन गंतव्ये आणि तीन क्रिया यांचा समावेश असलेला नेव्हिगेशन आलेख सापडेल.


नॅव्हिगेशन घटक आपल्याला Google ची नवीन शिफारस केलेली अ‍ॅप रचना अंमलात आणण्यास मदत करण्यासाठी डिझाइन केलेले आहेत, जिथे एकल क्रियाकलाप नेव्हिगेशन आलेख “होस्ट” करते आणि आपली सर्व गंतव्यस्थाने तुकड्यांच्या रूपात लागू केली जातात. या लेखामध्ये, आम्ही या शिफारस केलेल्या पध्दतीचे अनुसरण करू आणि मुख्य अ‍ॅक्टिव्हिटी आणि तीन तुकड्यांच्या गंतव्यस्थानांचा समावेश करणारा अनुप्रयोग तयार करू.

तथापि, नॅव्हिगेशन घटक केवळ या अनुप्रयोगांची नाही ज्यांची शिफारस केलेली रचना आहे. प्रोजेक्टमध्ये अनेक नेव्हिगेशन आलेख असू शकतात आणि आपण त्या नॅव्हिगेशन आलेखांमधील तुकडे आणि क्रियाकलाप गंतव्यस्थान म्हणून वापरू शकता. आपण नॅव्हिगेशन घटकाकडे एखादा मोठा, परिपक्व प्रकल्प स्थलांतरित करत असल्यास आपल्या अ‍ॅपचा नॅव्हिगेशनल प्रवाह गटांमध्ये विभक्त करणे आपल्यास सोपे वाटेल, जिथे प्रत्येक गटात “मुख्य” क्रियाकलाप, काही संबंधित तुकड्यांचा आणि स्वतःचा नॅव्हिगेशन आलेख आहे.

Android स्टुडिओमध्ये नॅव्हिगेशन संपादक जोडत आहे

नेव्हिगेशन घटकामधून अधिकाधिक मिळविण्यात आपली मदत करण्यासाठी, Android स्टुडिओ 3.2 कॅनरी आणि उच्च वैशिष्ट्ये नवीन नॅव्हिगेशन संपादक.

हे संपादक सक्षम करण्यासाठी:

  • Android स्टुडिओ मेनू बार वरून “Android स्टुडिओ> प्राधान्ये…” निवडा.
  • डावीकडील मेनूमध्ये, “प्रायोगिक” निवडा.
  • हे आधीपासून निवडलेले नसल्यास, “नेव्हिगेशन संपादक सक्षम करा” चेकबॉक्स निवडा.

  • “ओके” वर क्लिक करा.
  • Android स्टुडिओ रीस्टार्ट करा.

प्रकल्प अवलंबन: नॅव्हिगेशन खंड आणि नॅव्हिगेशन यूआय

आपल्या आवडीच्या सेटिंग्‍जसह एक नवीन प्रोजेक्ट तयार करा, नंतर त्याची बिल्ड.gradle फाईल उघडा आणि नेव्हिगेशन-फ्रॅगमेंट आणि नेव्हिगेशन-यूआय प्रोजेक्ट अवलंबिता म्हणून जोडा:

अवलंबित्व {अंमलबजावणी फाइल वृक्ष (डिअर: लिब्स, समाविष्ट:) अंमलबजावणी com.android.support:appcompat-v7:28.0.0 अंमलबजावणी com.android.support.constraint: बाधा-मांडणी: 1.1.3 // खालील // अंमलबजावणी जोडा "एंड्रॉइड.आर्च.नेव्हिगेशन: नेव्हिगेशन-फ्रॅगमेंट: 1.0.0-अल्फा05" // नेव्हिगेशन-यूआय काही सहाय्यक कार्ये // अंमलबजावणीसाठी प्रवेश प्रदान करते "android.arch.navication: नेव्हिगेशन-यूआय: 1.0.0-अल्फा05" अंमलबजावणी कॉम .android.support: समर्थन-v4: 28.0.0 testImplementation जुनिट: जुनिट: 4.12 androidTestImplementation com.android.support.test: धावपटू: 1.0.2 androidTestImplementation com.android.support.test.espresso: एस्प्रेसो-कोर: .2.०.२ }

आपल्या अ‍ॅपच्या नेव्हिगेशनचे व्हिज्युअल विहंगावलोकन मिळवा

नॅव्हिगेशन आलेख तयार करण्यासाठी:

  • आपल्या प्रोजेक्टच्या “रेस” निर्देशिका नियंत्रित करा आणि “नवीन> Android संसाधन निर्देशिका” निवडा.
  • “स्त्रोत प्रकार” ड्रॉपडाऊन उघडा आणि “नेव्हिगेशन” निवडा.
  • “ओके” निवडा.
  • आपली नवीन “रेस / नेव्हिगेशन” निर्देशिका नियंत्रित करा आणि “नवीन> नॅव्हिगेशन संसाधन फाइल” निवडा.
  • “स्त्रोत प्रकार” ड्रॉपडाउन उघडा आणि “नेव्हिगेशन” निवडा.

  • या फाईलला नाव द्या; मी “नाव_ग्राफ” वापरत आहे.
  • “ओके” वर क्लिक करा.

आपली “रेस / नेव्हिगेशन / नव_ग्राफ” फाइल उघडा आणि नॅव्हिगेशन एडिटर स्वयंचलितपणे लाँच होईल. लेआउट एडिटर प्रमाणेच, नॅव्हिगेशन एडिटरचे डिझाईन “डिझाईन” आणि “टेक्स्ट” टॅबमध्ये विभागले गेले आहे.

आपण "मजकूर" टॅब निवडल्यास आपल्याला खालील XML दिसेल:

<? xML version = "1.0" एन्कोडिंग = "utf-8"?> // नेव्हिगेशन ’प्रत्येक नेव्हिगेशन आलेखाचे मूळ नोड आहे //

“डिझाइन” टॅब असे आहे जेथे आपण आपल्या अ‍ॅपचे नेव्हिगेशन दृश्यमान तयार आणि संपादित करू शकता.

डावीकडून उजवीकडून, नॅव्हिगेशन एडिटरमध्ये असे आहेत:

  • गंतव्ये यादी: हे सर्व नॅव्हिगेशन आलेख बनविणारी सर्व गंतव्यस्थाने तसेच नेव्हिगेशन आलेख जेथे होस्ट करते तेथे क्रियाकलाप सूचीबद्ध करते.
  • ग्राफ संपादक: ग्राफ संपादक सर्व आलेखाच्या गंतव्यस्थानांचे आणि त्यांना जोडणार्‍या क्रियांचा दृश्यात्मक विहंगावलोकन प्रदान करतो.
  • विशेषता संपादक: आपण ग्राफ संपादकातील एखादे गंतव्यस्थान किंवा कृती निवडल्यास, "विशेषता" पॅनेल सध्या निवडलेल्या आयटमबद्दल माहिती प्रदर्शित करेल.

नॅव्हिगेशन आलेख पॉप्युलेट करीत आहे: गंतव्ये जोडत आहे

आमचा नॅव्हिगेशन आलेख सध्या रिक्त आहे. चला काही गंतव्यस्थाने जोडू.

आपण आधीपासून अस्तित्वात असलेल्या क्रियाकलाप किंवा तुकड्यांना जोडू शकता, परंतु आपण द्रुतगतीने आणि सहजतेने नवीन तुकडे तयार करण्यासाठी नॅव्हिगेशन आलेख देखील वापरू शकता:

  • “नवीन गंतव्य” बटणावर क्लिक करा आणि “रिक्त गंतव्य तयार करा” निवडा.

  • “तुकडा नाव” फील्डमध्ये, आपल्या खंडाचे वर्ग नाव प्रविष्ट करा; मी “फर्स्टफ्रेगमेंट” वापरत आहे.
  • “लेआउट एक्सएमएल तयार करा” चेकबॉक्स निवडलेला असल्याची खात्री करा.
  • “फ्रेगमेंट लेआउट नेम” फील्ड पूर्ण करा; मी “फ्रेगमेंट_फर्स्ट” वापरत आहे.
  • “समाप्त” वर क्लिक करा.

फर्स्टफ्रेगमेंट सबक्लास आणि संबंधित “फ्रेगमेंट_फिस्ट.एक्सएमएल” लेआउट रिसोर्स फाइल आता तुमच्या प्रोजेक्टमध्ये जोडली जाईल. फर्स्टफ्रेगमेंट नॅव्हिगेशन आलेखात डेस्टिनेशन म्हणून देखील दिसेल.

आपण नॅव्हिगेशन एडिटरमध्ये फर्स्टफ्रेगमेंट निवडल्यास, नंतर “कोड” पॅनेल या गंतव्यस्थानाबद्दल काही माहिती प्रदर्शित करेल, जसे की त्याचे नाव आणि आपण या गंतव्य संदर्भात आपल्या कोडमधील अन्यत्र संदर्भित करण्यासाठी वापरत असलेली आयडी.

आपल्या प्रोजेक्टमध्ये सेकंडफ्रेगमेंट आणि थर्डफ्रेगमेंट जोडण्यासाठी स्वच्छ धुवा आणि पुन्हा करा.

“मजकूर” टॅबवर स्विच करा आणि आपल्याला दिसेल की हे बदल प्रतिबिंबित करण्यासाठी एक्सएमएल अद्यतनित केले गेले आहे.

प्रत्येक नेव्हिगेशन आलेखात प्रारंभ गंतव्य असते, जेव्हा वापरकर्ता आपला अ‍ॅप लाँच करतो तेव्हा तो स्क्रीन दर्शविला जातो. वरील कोडमध्ये, आम्ही आमच्या अॅपची प्रारंभ गंतव्यस्थान म्हणून फर्स्टफ्रेमेन्ट वापरत आहोत. आपण “डिझाइन” टॅबवर स्विच केल्यास आपणास घरगुती चिन्ह दिसेल जे फर्स्टफ्रॅगमेंटला ग्राफच्या प्रारंभ गंतव्याच्या रुपात चिन्हांकित करते.

आपण एखादा भिन्न प्रारंभ बिंदू वापरण्यास प्राधान्य देत असल्यास, नंतर क्रियाशील क्रियाकलाप किंवा विचाराधीन खंड निवडा आणि नंतर “विशेषता” पॅनेलमधून “प्रारंभ प्रारंभ गंतव्य” निवडा.

वैकल्पिकरित्या, आपण कोड पातळीवर हा बदल करू शकता:

आपले तुकडा लेआउट अद्यतनित करीत आहे

आता आपल्याकडे आमची गंतव्यस्थाने आहेत, चला तर काही वापरकर्ता इंटरफेस घटक जोडा जेणेकरुन हे स्पष्ट होईल की आम्ही सध्या कोणता तुकडा पहात आहोत.

मी प्रत्येक तुकड्यात पुढील गोष्टी जोडत आहे:

  • मजकूर दृश्य ज्यामध्ये खंडाचे शीर्षक आहे
  • एक बटण जे वापरकर्त्यास एका तुकड्यातून दुसर्‍या टप्प्यात नेव्हिगेट करण्यास अनुमती देते

प्रत्येक लेआउट संसाधन फाईलसाठी येथे कोड आहे:

फ्रेगमेंट_फर्स्ट.एक्सएमएल

फ्रेगमेंट_सेकंद.एक्सएमएल

फ्रॅगमेंट_ थर्ड.एक्सएमएल

कृतींसह आपली गंतव्यस्थाने जोडत आहे

पुढील चरण कृतीद्वारे आमच्या गंतव्यस्थानांना जोडत आहे.

आपण साध्या ड्रॅग आणि ड्रॉपचा वापर करून नॅव्हिगेशन एडिटरमध्ये क्रिया तयार करू शकता:

  • संपादकाचा “डिझाइन” टॅब निवडलेला असल्याचे सुनिश्चित करा.
  • आपण नॅव्हिगेट करू इच्छित असलेल्या गंतव्यस्थानाच्या उजव्या बाजूस फिरवा पासून, जे या उदाहरणात फर्स्टफ्रेमेंट आहे. एक मंडळ दिसावे.
  • आपण नेव्हिगेट करू इच्छित असलेल्या गंतव्यस्थानावर आपला कर्सर क्लिक करा आणि ड्रॅग करा करण्यासाठी, जो सेकंडफ्रेगमेंट आहे. एक निळी रेषा दिसली पाहिजे. जेव्हा सेकंडफ्रेगमेंट निळा हायलाइट केला जाईल तेव्हा या गंतव्यस्थानांमधील दुवा तयार करण्यासाठी कर्सर सोडा.

आता फर्स्टफ्रेगमेंटला सेकंडफ्रेगमेंटशी जोडणारा एक अ‍ॅक्शन बाण असावा. हा बाण निवडण्यासाठी क्लिक करा आणि सिस्टम-नियुक्त आयडीसह या क्रियेबद्दल काही माहिती प्रदर्शित करण्यासाठी "विशेषता" पॅनेल अद्यतनित होईल.

हा बदल नेव्हिगेशन आलेखच्या एक्सएमएलमध्ये देखील दिसून येतो:

… … …

सेकंडफ्रेगमेंटला थर्डफ्रेगमेंटला जोडणारी अ‍ॅक्शन आणि थर्डफ्रेममेंटला फर्स्टफ्रेगमेंटला जोडणारी अ‍ॅक्शन तयार करण्यासाठी पुन्हा स्वच्छ धुवा आणि पुन्हा करा.

नेव्हिगेशन आलेख होस्ट करीत आहे

नॅव्हिगेशन आलेख आपल्या अ‍ॅप च्या गंतव्यस्थान आणि क्रियांचे व्हिज्युअल प्रतिनिधित्व प्रदान करते, परंतु या क्रियांना आवाहन करण्यासाठी काही अतिरिक्त कोड आवश्यक आहेत.

एकदा आपण नॅव्हिगेशन आलेख तयार केल्‍यानंतर, त्या क्रियेच्या लेआउट फाइलमध्ये एक नवहोस्टफ्रेममेंट जोडून आपल्याला एखाद्या गतिविधीमध्ये होस्ट करणे आवश्यक आहे. हे नेव्हहोस्टफ्रेगमेंट एक कंटेनर प्रदान करते जिथे नेव्हिगेशन येऊ शकते आणि वापरकर्ता आपल्या अ‍ॅपच्या सभोवताल नेव्हिगेट करतेवेळी तुकड्यांना आत आणि बाहेर बदलण्यास देखील जबाबदार असेल.

आपल्या प्रोजेक्टची “गतिविधि_main.xML” फाईल उघडा आणि एक नवहोस्टफ्रेममेंट जोडा.

<? एक्सएमएल आवृत्ती = "1.0" एन्कोडिंग = "यूटीएफ -8"?> // एक तुकडा तयार करा जो नवहोस्टफ्रेमेन्ट // म्हणून कार्य करेल //

वरील कोडमध्ये, अ‍ॅप: डीफॉल्टनेव्ह होस्ट = "सत्य" नेव्हिगेशन होस्टला जेव्हा जेव्हा सिस्टमचे "बॅक" बटण दाबले जाते तेव्हा व्यत्यय आणण्याची अनुमती देते, म्हणून अॅप आपल्या नेव्हिगेशन आलेखमध्ये वर्णन केलेल्या नेव्हिगेशनचा नेहमीच सन्मान करतो.

नेव्हकंट्रोलरसह ट्रान्झिंग ट्रान्झिशन्स

पुढे, आम्हाला नेव्हकंट्रोलर लागू करण्याची आवश्यकता आहे, जो एक नवीन घटक आहे जो नवहोस्टफ्रेगमेंटमध्ये नेव्हिगेशनची प्रक्रिया व्यवस्थापित करण्यासाठी जबाबदार आहे.

नवीन स्क्रीनवर नेव्हिगेट करण्यासाठी, आपल्याला नेव्हिगेशन.फिंडनेव्हकंट्रोलर वापरुन नेव्हिगंट्रोलर पुनर्प्राप्त करणे आवश्यक आहे, नॅव्हिगेट () पद्धतीवर कॉल करा, त्यानंतर आपण ज्या स्थानावरून नेव्हिगेट करत आहात त्याचा ID किंवा आपण विनंती करू इच्छित असलेली क्रिया एकतर पास करा. उदाहरणार्थ, मी “_क्शन_फर्स्टफ्रेगमेंट_ टू सेकंडफ्रेगमेंट” अशी विनंती करीत आहे, जो वापरकर्त्याला फर्स्टफ्रेगमेंट वरून सेकंडफ्रेगमेंटमध्ये नेईल:

नावकंट्रोलर नवाकंट्रोलर = नेव्हिगेशन.फिंडनाव्हकंट्रोलर (getActivity (), R.id.my_nav_host_fraament); navController.navigate (आर.आय.डी.अॅक्शन_फर्स्टफ्रेगमेंट_ टू_सेकँडफ्रेगमेंट);

वापरकर्ता एका बटणावर क्लिक करून नवीन स्क्रीनवर जाईल, म्हणून आम्हाला एक ऑनक्लिकलिस्टनर लागू करण्याची देखील आवश्यकता आहे.

हे बदल केल्यावर, फर्स्टफ्रेममेंटला यासारखे काहीतरी दिसावे:

android.os.Bundle आयात करा; android.support.annotation.NonNull आयात करा; आयात करा android.support.annotation.Nlalable; android.support.v4.app.Fraament आयात करा; android.view.LayoutInflater आयात करा; android.view.View आयात करा; android.view.ViewGroup आयात करा; आयात android.widget.Button; आयात करा androidx.navication.NavController; आयात करा androidx.navication. नेव्हिगेशन; पब्लिक क्लास फर्स्टफ्रेगमेंटने फ्रॅगमेंट {पब्लिक फर्स्टफ्रेमंट () {} @ ओव्हरराइड पब्लिक रिक्त ऑनक्रिएट (बंडल सेव्हिडइन्स्टेनस्टेट) {सुपर.ऑनक्रिएट (सेव्हिडइन्स्टान्सस्टेट); if (getArguments ()! = null) public}} @ सार्वजनिक दृश्य onCreateView (लेआउटइंफ्लॅटर इन्फ्लॅटर, व्ह्यू ग्रुप कंटेनर, बंडल सेव्हइंस्टेन्सस्टेट) inf रिटर्न inflater.inflate (R.layout.frament_first, कंटेनर, खोटे); } @ ओव्हरराइड पब्लिक रिक्त ऑन व्ह्यू व्हिच्रेटेड (@ नॉनल व्यू व्ह्यू, @ न्युलेबल बंडल सेव्ह इनइन्सान्स स्टेट) {बटण बटण = (बटण) व्ह्यू.फाइंड व्ह्यूबायआयडी (आर. आयडब्ल्यूटन); बटण.सेटऑनक्लिकलिस्टनर (नवीन व्ह्यू.ऑनक्लिकलिस्टिनर () {@ ओव्हरराइड पब्लिक रिक्त ऑनक्लिक (दृश्य व्ही) {नवकंट्रोलर नेव्हकंट्रोलर = नेव्हिगेशन.फिंडनाव्हकंट्रोलर (getActivity (), आर.आयडी.वि_व्हॉस्ट_फ्रॅगमेंट). }}); }}

पुढे, आपली मुख्य क्रियाकलाप उघडा आणि पुढील जोडा:

  • नॅव्हिगेशन व्ह्यू.ऑन नेव्हिगेशन आयटमची निवडसूची: नेव्हिगेशन आयटमवरील कार्यक्रम हाताळण्यासाठी ऐकणारा
  • सेकंदफ्रेगमेंट.ऑन फ्रॅगमेंटइंट्रेक्शनलिस्टनर: आपण नेव्हिगेशन एडिटर द्वारे सेकंडफ्रेगमेंट तयार करता तेव्हा निर्माण केलेला इंटरफेस

मेनएक्टिव्हिटीला ऑनफ्रेगमेंटइंट्रेक्शन () पद्धत देखील अंमलात आणण्याची आवश्यकता आहे, जी तुकडा आणि क्रियाकलाप दरम्यान संप्रेषणास अनुमती देते.

android.support.v7.app.appCompatActivity आयात करा; android.os.Bundle आयात करा; android.net.Uri आयात करा; android.view.MenuItem आयात करा; आयात करा android.support.design.widget. नेव्हिगेशनव्ह्यू; android.support.annotation.NonNull आयात करा; पब्लिक क्लास मेनएक्टिविटी विस्तारित अ‍ॅपकॉम्पॅट अ‍ॅक्टिव्हिटी नेव्हीगेशन व्ह्यू.ऑन नॅव्हीगेशन आयटमसेलेक्टेड लिस्टनर, सेकंडफ्रेगमेंट.ऑनफ्रेगमेंटइंटरेक्शनलिस्टनर {@ ओव्हरराइड प्रोटेक्टेड वाईड ऑनक्रिएट (बंडल सेव्हिडइन्स्टेन्टस्टेट) saved सुपर.ऑनक्रेसॅट (सेव्हिडेंटस्टेट); सेट कॉन्टेन्ट व्ह्यू (आर.लेआउट.एक्टिव्हिटी_मेन); Av @ नॅव्हिगेशन आयटमसेलेक्टेड (@ नॉननुल मेनूआयटम आयटम) वर आऊटराइड पब्लिक बुलियन false चुकीचे परत करा; Ra @ ओव्हरराइड पब्लिक शून्य ऑनफ्रॅगमेंटइंट्रेक्शन (उरी उरी) {}}

अधिक नेव्हिगेशन जोडत आहे

आमच्या अॅपच्या उर्वरित नेव्हिगेशनची अंमलबजावणी करण्यासाठी, आम्हाला केवळ ऑन व्ह्यूक्रिएटेड ब्लॉकची कॉपी / पेस्ट करणे आवश्यक आहे आणि काही चिमटे तयार करणे आवश्यक आहे जेणेकरून आम्ही अचूक बटण विजेट आणि नेव्हिगेशन क्रियांचा संदर्भ घेत आहोत.

आपले सेकंडफ्रेमंट उघडा आणि खालील जोडा:

@ ओव्हरराइड पब्लिक रिक्त ऑन व्ह्यू व्हिच्रेटेड (@ नॉनल व्यू व्ह्यू, @ न्युलेबल बंडल सेव्ह इनइन्टेन्सस्टेट) {बटण बटण = (बटण) व्ह्यू.फाइंडव्ह्यूबायआयडी (आर. आयडब्ल्यूटन 2); बटण.सेटऑनक्लिकलिस्टर (नवीन व्ह्यू.ऑनक्लिकलिस्टिनर () {@ ओव्हरराइड पब्लिक रिक्त ऑनक्लिक (दृश्य व्ही) {नवकंट्रोलर नेव्हकंट्रोलर = नॅव्हिगेशन.फाइन्डनाव्हकंट्रोलर (getActivity (), आर. आयडी_नाव्ह_होस्ट_फ्रगमेंट). }}); }

त्यानंतर, थर्डफ्रेममेंट ऑन व्ह्यूक्रिएटेड ब्लॉक अद्यतनित करा:

@ ओव्हरराइड पब्लिक रिक्त ऑन व्ह्यू व्हिच्रेटेड (@ नॉनल व्यू व्ह्यू, @ न्युलेबल बंडल सेव्ह इनइन्टेन्सस्टेट) {बटण बटण = (बटण) व्ह्यू.फाइंडव्ह्यूबायआयडी (आर. आयडब्ल्यूटॉन)); बटण.सेटऑनक्लिकलिस्टनर (नवीन व्ह्यू.ऑनक्लिकलिस्टिनर () {@ ऑव्हराइड पब्लिक रिक्त ऑनक्लिक (दृश्य व्ही) {नवकंट्रोलर नेव्हकंट्रोलर = नेव्हिगेशन.फिंडनाव्हकंट्रोलर (getActivity (), आर. आयडी_नाव्ह_होस्ट_फ्रगमेंट). }}); }

शेवटी, थर्डफ्रेगमेंट जोडण्यास विसरू नका. आपल्या मेनएक्टिव्हिटीमध्ये फ्रॅगमेंटइंट्रेक्शनलिस्टर इंटरफेस:

पब्लिक क्लास मेनएक्टिविटी विस्तारित अ‍ॅपकंपॅटएक्टिव्हिटी नेव्हिगेशन व्ह्यू.ऑन नॅव्हिगेशन आयटमसेलेक्टेड लिस्टनर, सेकंडफ्रेगमेंट.ऑन फ्रॅगमेंटइंट्रेक्शनलिस्टनर, थर्डफ्रेगमेंट.ऑनफ्रेगमेंटइंट्रक्शनलिस्टनर extend

हा प्रकल्प आपल्या Android डिव्हाइसवर किंवा Android आभासी डिव्हाइस (एव्हीडी) वर चालवा आणि नॅव्हिगेशनची चाचणी घ्या. आपण भिन्न बटणावर क्लिक करून सर्व तीन तुकड्यांमध्ये नेव्हिगेट करण्यास सक्षम असावे.

सानुकूल संक्रमण अ‍ॅनिमेशन तयार करत आहे

या क्षणी, वापरकर्ता आपल्या अॅपच्या भोवती फिरू शकतो, परंतु प्रत्येक तुकड्यांमधील संक्रमण खूपच अचानक झाले आहे. या अंतिम विभागात, आम्ही प्रत्येक संक्रमणास भिन्न अ‍ॅनिमेशन जोडण्यासाठी नॅव्हीगेशन घटक वापरू म्हणजे ते अधिक सहजतेने घडतात.

आपण वापरू इच्छित असलेले प्रत्येक अ‍ॅनिमेशन "रेस / अनीम" निर्देशिकेमध्ये त्याच्या स्वतःच्या अ‍ॅनिमेशन संसाधन फाइलमध्ये परिभाषित केले जाणे आवश्यक आहे. आपल्या प्रकल्पात आधीपासूनच "रेस / अनीम" निर्देशिका नसल्यास, आपल्याला एक तयार करण्याची आवश्यकता आहे:

  • आपल्या प्रोजेक्टच्या “रेस” फोल्डरवर कंट्रोल-क्लिक करा आणि “नवीन> Android संसाधन निर्देशिका” निवडा.
  • या निर्देशिकेला “anim” नाव द्या.
  • “स्त्रोत प्रकार” ड्रॉपडाऊन उघडा आणि “अ‍ॅनिम” निवडा.
  • “ओके” वर क्लिक करा.

एक फेड-आउट अ‍ॅनिमेशन परिभाषित करून प्रारंभ करूया:

  • आपल्या प्रोजेक्टची “रेस / अनीम” निर्देशिका नियंत्रित करा.
  • “नवीन> अ‍ॅनिमेशन स्त्रोत फाइल” निवडा.
  • या फाईलला “फेड_आउट” नाव द्या.
  • आपली “fade_out” फाईल उघडा आणि खालील जोडा:

“स्लाइड_आउट_लेफ्ट” नावाची दुसरी अ‍ॅनिमेशन संसाधन फाइल तयार करण्यासाठी वरील चरणांची पुनरावृत्ती करा, त्यानंतर पुढील जोडा:

“स्लाइड_आउट_राईट” नावाची एक तिसरी फाईल तयार करा आणि पुढील जोडा:

आपण आता नॅव्हिगेशन एडिटरद्वारे आपल्या अ‍ॅनिमेशनला आपल्या कृतीसाठी असाइन करू शकता.जेव्हा जेव्हा वापरकर्ता फर्स्टफ्रॅगमेंट वरून सेकंडफ्रॅगमेंटवर नेव्हिगेट करते तेव्हा फेड-आउट अ‍ॅनिमेशन प्ले करण्यासाठी:

  • आपला नॅव्हिगेशन आलेख उघडा आणि “डिझाइन” टॅब निवडलेला असल्याची खात्री करा.
  • फर्स्टफ्रॅगमेंटला सेकंडफ्रेगमेंटशी जोडणारी कृती निवडण्यासाठी क्लिक करा.
  • “विशेषता” पॅनेल मध्ये, “संक्रमण” विभाग विस्तृत करण्यासाठी क्लिक करा. डीफॉल्टनुसार, या विभागातील प्रत्येक ड्रॉपडाउन "काहीही नाही" वर सेट केले जावे.
  • “एंटर” ड्रॉपडाऊन उघडा, जे अ‍ॅनिमेशनला नियंत्रित करते जे जेव्हा जेव्हा बॅड स्टॅकच्या शीर्षस्थानी सेकंडफ्रेगमेंट संक्रमित होते तेव्हा प्ले करते. “फेड_आउट” अ‍ॅनिमेशन निवडा.

आपण “डिझाइन” टॅबवर स्विच केल्यास आपणास हे दिसून येईल की हे अ‍ॅनिमेशन “एक्शन_फर्स्टफ्रेमन्ट_ट_सेकंद्राफ्रेन्ट” मध्ये जोडले गेले आहे.

आपल्या Android डिव्हाइसवर किंवा एव्हीडी वर अद्यतनित प्रकल्प चालवा. जेव्हा आपण फर्स्टफ्रॅगमेंट वरून सेकंदाफ्रॅगमेंटवर नेव्हिगेट कराल तेव्हा आता आपणास फेड-आउट इफेक्टचा सामना करावा लागेल.

आपण "गुणधर्म" पॅनेलवर पुन्हा एकदा नजर टाकल्यास आपल्याला दिसेल की "एंटर" संक्रमणाचा एकमेव भाग नाही जिथे आपण अ‍ॅनिमेशन लागू करू शकता. आपण यातून देखील निवडू शकता:

  • बाहेर पडा: जेव्हा एखादा तुकडा स्टॅक सोडत असतो तेव्हा प्ले करणारे अ‍ॅनिमेशन
  • पॉप एंटर: जेव्हा एखादा तुकडा स्टॅकच्या शीर्षस्थानी पसरत असतो तेव्हा प्ले करणारे अ‍ॅनिमेशन
  • पॉप निर्गमन: जेव्हा तुकडा स्टॅकच्या तळाशी संक्रमित होतो तेव्हा प्ले करणारे अ‍ॅनिमेशन

आपल्या संक्रमणाच्या भिन्न भागांवर भिन्न अ‍ॅनिमेशन लागू करून प्रयोग करून पहा. आपण पूर्ण प्रकल्प गिटहब वरून डाउनलोड देखील करू शकता.

लपेटणे

या लेखात, आम्ही सानुकूल संक्रमण अ‍ॅनिमेशनसह पूर्ण, एकल-क्रियाकलाप, एकाधिक-खंड अनुप्रयोग तयार करण्यासाठी नॅव्हीगेशन आर्किटेक्चर घटक कसे वापरू शकता याकडे आम्ही पाहिले. नॅव्हिगेशन घटकाने आपल्या प्रकल्पांना या प्रकारच्या अनुप्रयोग संरचनेमध्ये स्थलांतर करण्यास आपली खात्री पटली आहे का? आम्हाला खाली टिप्पण्या कळू द्या!

Google ने नुकताच Google पिक्सल 3 ए आणि 3 ए एक्सएल लाँच केला आहे आणि आता Google पिक्सल 4 आणि पिक्सेल 4 एक्सएलच्या अपेक्षित रिलीझकडे पहात आहात.त्या शिरामध्ये आमच्याकडे आमचा प्रथम दृष्टिकोन Google पिक्से...

गूगल पिक्सल 4 लीक ट्रेन 15 ऑक्टोबर लाँच इव्हेंट पर्यंत सुरू आहे आणि असे दिसते आहे की फर्म आतापर्यंत न पाहिले गेलेल्या कॅमेरा पर्यायावर काम करीत आहे.त्यानुसार 9to5Google, कंपनी पिक्सेल o साठी तथाकथित ड...

वाचकांची निवड