परेशानी रहित टुकड़े: Android के नेविगेशन आर्किटेक्चर घटक का उपयोग करना

लेखक: John Stephens
निर्माण की तारीख: 2 जनवरी 2021
डेट अपडेट करें: 6 जुलाई 2024
Anonim
जेटपैक कंपोज़ के साथ नेविगेशन कंपोनेंट
वीडियो: जेटपैक कंपोज़ के साथ नेविगेशन कंपोनेंट

विषय


2018 के I / O सम्मेलन के दौरान, Google ने Android ऐप्स विकसित करने के लिए एक नए दृष्टिकोण की घोषणा की।

Google की आधिकारिक अनुशंसा एक एकल गतिविधि बनाना है जो आपके ऐप के मुख्य प्रवेश बिंदु के रूप में कार्य करती है, फिर आपके एप्लिकेशन की शेष सामग्री को टुकड़ों में वितरित करें।

हालांकि उन सभी अलग-अलग अंशों के लेनदेन और जीवन चक्रों को टटोलने की सोच एक दुःस्वप्न की तरह लग सकती है, I / O 2018 में Google ने नेविगेशन आर्किटेक्चर घटक भी लॉन्च किया जो इस तरह की एकल गतिविधि संरचना को अपनाने में आपकी मदद करने के लिए डिज़ाइन किया गया है।

इस आलेख में, हम आपको दिखाएंगे कि नेविगेशन प्रोजेक्ट को अपनी परियोजना में कैसे जोड़ा जाए और आप इसका उपयोग Android स्टूडियो के नए नेविगेशन संपादक की थोड़ी मदद से एकल-गतिविधि, एकाधिक-टुकड़ा एप्लिकेशन बनाने के लिए कैसे जल्दी और आसानी से कर सकते हैं। एक बार जब आप अपने टुकड़े बना लेते हैं और उनसे जुड़ जाते हैं, तो हम पूरी तरह से अनुकूलन संक्रमण एनिमेशन की एक श्रृंखला बनाने के लिए नेविगेशन घटक और संपादक का उपयोग करके एंड्रॉइड के मानक टुकड़ा बदलाव पर सुधार करेंगे।


नेविगेशन आर्किटेक्चर घटक क्या है?

एंड्रॉइड जेटपैक का हिस्सा, नेविगेशन आर्किटेक्चर घटक आपको अपने एप्लिकेशन के माध्यम से विभिन्न मार्गों की कल्पना करने में मदद करता है और इन मार्गों को लागू करने की प्रक्रिया को सरल करता है, खासकर जब यह टुकड़ा लेनदेन के प्रबंधन की बात आती है।

नेविगेशन घटक का उपयोग करने के लिए, आपको एक नेविगेशन ग्राफ़ बनाने की आवश्यकता होगी, जो एक XML फ़ाइल है जिसमें यह वर्णन किया गया है कि आपके ऐप की गतिविधियाँ और टुकड़े एक-दूसरे से कैसे संबंधित हैं।

नेविगेशन ग्राफ़ में निम्न शामिल हैं:

  • गंतव्य: उपयोगकर्ता जो अलग-अलग स्क्रीन पर नेविगेट कर सकता है
  • क्रियाएँ: उपयोगकर्ता आपके एप्लिकेशन के गंतव्यों के बीच ले जा सकते हैं

आप एंड्रॉइड स्टूडियो के नेविगेशन संपादक में अपनी परियोजना के नेविगेशन ग्राफ का एक दृश्य प्रतिनिधित्व देख सकते हैं। नीचे, आपको एक नेविगेशन ग्राफ़ मिलेगा जिसमें तीन गंतव्य और तीन क्रियाएं होंगी जैसा कि नेविगेशन संपादक में दिखाई देता है।


नेविगेशन घटक आपको Google की नई अनुशंसित ऐप संरचना को लागू करने में मदद करने के लिए डिज़ाइन किया गया है, जहां एक एकल गतिविधि नेविगेशन ग्राफ़ को "होस्ट" करती है, और आपके सभी गंतव्य टुकड़े के रूप में कार्यान्वित किए जाते हैं। इस लेख में, हम इस अनुशंसित दृष्टिकोण का पालन करेंगे और एक आवेदन बनाएंगे जिसमें एक MainActivity और तीन टुकड़े गंतव्य होंगे।

हालाँकि, नेविगेशन घटक केवल उन अनुप्रयोगों के लिए नहीं है जिनके पास यह अनुशंसित संरचना है। एक प्रोजेक्ट में कई नेविगेशन ग्राफ़ हो सकते हैं, और आप उन नेविगेशन ग्राफ़ के भीतर टुकड़े के रूप में गतिविधियों और गतिविधियों का उपयोग कर सकते हैं। यदि आप नेविगेशन घटक के लिए एक बड़ी, परिपक्व परियोजना की ओर पलायन कर रहे हैं, तो आपको अपने ऐप के नौवहन प्रवाह को समूहों में अलग करना आसान हो सकता है, जहाँ प्रत्येक समूह में एक "मुख्य" गतिविधि, कुछ संबंधित अंश और अपना स्वयं का नेविगेशन ग्राफ़ होता है।

एंड्रॉइड स्टूडियो में नेविगेशन एडिटर जोड़ना

नेविगेशन घटक से बाहर निकलने में आपकी सहायता करने के लिए, एंड्रॉइड स्टूडियो 3.2 कैनरी और उच्चतर सुविधाएँ एक नया नेविगेशन संपादक हैं।

इस संपादक को सक्षम करने के लिए:

  • Android Studio मेनू बार से "Android Studio> प्राथमिकताएं" चुनें।
  • बाएं हाथ के मेनू में, "प्रायोगिक" चुनें।
  • यदि यह पहले से ही चयनित नहीं है, तो "नेविगेशन संपादक सक्षम करें" चेकबॉक्स चुनें।

  • ओके पर क्लिक करें।"
  • Android Studio को पुनरारंभ करें।

प्रोजेक्ट निर्भरताएँ: नेविगेशन फ़्रैगमेंट और नेविगेशन UI

अपनी पसंद की सेटिंग के साथ एक नया प्रोजेक्ट बनाएं, फिर उसकी बिल्ड.ग्रेड फ़ाइल खोलें और प्रोजेक्ट निर्भरता के रूप में नेविगेशन-टुकड़ा और नेविगेशन-यूआई जोड़ें:

निर्भरताएँ {कार्यान्वयन फ़ाइलट्री (dir: libs, में शामिल हैं:) कार्यान्वयन com.android.support:appcompat-v7:28.0.0 कार्यान्वयन com.android.support.constraint: बाधा-लेआउट: 1.1.3: निम्नलिखित // कार्यान्वयन जोड़ें "android.arch.navigation: नेविगेशन-टुकड़ा: 1.0.0-alp05" // नेविगेशन-यूआई कुछ सहायक कार्यों तक पहुंच प्रदान करता है // कार्यान्वयन "android.arch.navigation: नेविगेशन-यूआई: 1.0.0-Alpha05" कार्यान्वयन कॉम .android.support: support-v4: 28.0.0 testImplementation junit: junit: 4.12 AndroidTestImplementation com.android.support.test: धावक: 1.0.2 androidTestImplementation com.android.support.test.espresso: एस्प्रेसो-कोर: 3.0.2 }

अपने एप्लिकेशन के नेविगेशन का एक दृश्य अवलोकन प्राप्त करें

नेविगेशन ग्राफ बनाने के लिए:

  • अपनी परियोजना की "रिस" निर्देशिका को नियंत्रित करें और "नया> Android संसाधन निर्देशिका" चुनें।
  • "संसाधन प्रकार" ड्रॉपडाउन खोलें और "नेविगेशन" चुनें।
  • "ठीक है" का चयन करें
  • अपनी नई "रेस / नेविगेशन" निर्देशिका को नियंत्रित करें और "नया> नेविगेशन संसाधन फ़ाइल" चुनें।
  • "संसाधन प्रकार" ड्रॉपडाउन खोलें और "नेविगेशन" चुनें।

  • इस फ़ाइल का नाम दें; मैं "nav_graph" का उपयोग कर रहा हूं
  • ओके पर क्लिक करें।"

अपनी "रेस / नेविगेशन / नेवीग्राफ" फ़ाइल खोलें, और नेविगेशन संपादक स्वचालित रूप से लॉन्च होगा। लेआउट संपादक के समान, नेविगेशन संपादक "डिज़ाइन" और "टेक्स्ट" टैब में विभाजित है।

यदि आप "पाठ" टैब का चयन करते हैं, तो आप निम्नलिखित XML देखेंगे:

<? xml संस्करण = "1.0" एन्कोडिंग = "utf-8";> // नेविगेशन 'प्रत्येक नेविगेशन ग्राफ का मूल नोड है //

"डिज़ाइन" टैब वह जगह है जहाँ आप अपने ऐप के नेविगेशन को नेत्रहीन रूप से बना और संपादित कर सकते हैं।

बाएं से दाएं, नेविगेशन संपादक में निम्न शामिल हैं:

  • एक गंतव्य सूची: यह उन सभी गंतव्यों को सूचीबद्ध करता है जो इस विशेष नेविगेशन ग्राफ को बनाते हैं, साथ ही वह गतिविधि जहाँ नेविगेशन ग्राफ़ को होस्ट किया जाता है।
  • ग्राफ़ संपादक: ग्राफ़ संपादक सभी ग्राफ़ के गंतव्य और उन्हें जोड़ने वाली क्रियाओं का एक दृश्य अवलोकन प्रदान करता है।
  • गुण संपादक: यदि आप ग्राफ़ संपादक में कोई गंतव्य या क्रिया चुनते हैं, तो "गुण" पैनल वर्तमान में चयनित आइटम के बारे में जानकारी प्रदर्शित करेगा।

नेविगेशन ग्राफ़ को आबाद करना: गंतव्य जोड़ना

वर्तमान में हमारा नेविगेशन ग्राफ़ खाली है। कुछ गंतव्य जोड़ते हैं।

आप पहले से मौजूद गतिविधियाँ या टुकड़े जोड़ सकते हैं, लेकिन आप जल्दी और आसानी से नए टुकड़े बनाने के लिए नेविगेशन ग्राफ़ का उपयोग कर सकते हैं:

  • "नया गंतव्य" बटन पर क्लिक करें और "रिक्त स्थान बनाएँ" चुनें।

  • "खंड नाम" फ़ील्ड में, अपने टुकड़े का वर्ग नाम दर्ज करें; मैं "FirstFragment" का उपयोग कर रहा हूं
  • सुनिश्चित करें कि "लेआउट XML बनाएँ" चेकबॉक्स चयनित है।
  • "फ्रेगमेंट लेआउट नाम" फ़ील्ड को पूरा करें; मैं "fragment_first" का उपयोग कर रहा हूं
  • "समाप्त" पर क्लिक करें।

FirstFragment उपवर्ग और संबंधित "fragment_first.xml" लेआउट संसाधन फ़ाइल अब आपकी परियोजना में जोड़ी जाएगी। FirstFragment नेविगेशन ग्राफ़ में एक गंतव्य के रूप में भी दिखाई देगा।

यदि आप नेविगेशन संपादक में FirstFragment का चयन करते हैं, तो "विशेषता" पैनल इस गंतव्य के बारे में कुछ जानकारी प्रदर्शित करेगा, जैसे कि इसका वर्ग नाम और आईडी जिसका उपयोग आप इस गंतव्य को अपने कोड में कहीं और संदर्भित करने के लिए करेंगे।

अपनी परियोजना में एक SecondFragment और ThirdFragment जोड़ने के लिए कुल्ला और दोहराएं।

"टेक्स्ट" टैब पर स्विच करें और आप देखेंगे कि इन परिवर्तनों को प्रतिबिंबित करने के लिए XML को अपडेट किया गया है।

प्रत्येक नेविगेशन ग्राफ में एक स्टार्ट डेस्टिनेशन होता है, जो कि वह स्क्रीन है जो उपयोगकर्ता द्वारा आपके ऐप को लॉन्च करने पर दिखाई जाती है। उपरोक्त कोड में, हम FirstFragment को अपने ऐप के प्रारंभ गंतव्य के रूप में उपयोग कर रहे हैं। यदि आप "डिज़ाइन" टैब पर जाते हैं, तो आपको एक घर का चिह्न दिखाई देगा, जो ग्राफ के प्रारंभ गंतव्य के रूप में FirstFragment को भी चिह्नित करता है।

यदि आप एक अलग आरंभ बिंदु का उपयोग करना पसंद करते हैं, तो गतिविधि या विखंडन का चयन करें, और फिर "गुण" पैनल से "सेट स्टार्ट डेस्टिनेशन" चुनें।

वैकल्पिक रूप से, आप इस बदलाव को कोड स्तर पर कर सकते हैं:

अपने खंडों को अद्यतन करना

अब हमारे पास अपने गंतव्य हैं, आइए हम कुछ उपयोगकर्ता इंटरफ़ेस तत्व जोड़ते हैं ताकि यह हमेशा स्पष्ट रहे कि हम वर्तमान में कौन सा टुकड़ा देख रहे हैं।

मैं प्रत्येक टुकड़े में निम्नलिखित जोड़ने जा रहा हूँ:

  • एक टेक्स्ट दृश्य जिसमें खंड का शीर्षक होता है
  • एक बटन जो उपयोगकर्ता को एक टुकड़े से अगले तक नेविगेट करने की अनुमति देगा

यहां प्रत्येक लेआउट संसाधन फ़ाइल के लिए कोड दिया गया है:

Fragment_first.xml

Fragment_second.xml

Fragment_third.xml

अपने गंतव्यों को क्रियाओं से जोड़ना

अगला कदम हमारे गंतव्यों को क्रियाओं के माध्यम से जोड़ना है।

आप नेविगेशन संपादक में सरल ड्रैग और ड्रॉप का उपयोग करके एक एक्शन बना सकते हैं:

  • सुनिश्चित करें कि संपादक का "डिज़ाइन" टैब चुना गया है।
  • गंतव्य के दाईं ओर पर जाएँ जिसे आप नेविगेट करना चाहते हैं से, जो इस उदाहरण में FirstFragment है। एक सर्कल दिखाई देना चाहिए।
  • अपने कर्सर को उस गंतव्य पर क्लिक करें और खींचें, जिसे आप नेविगेट करना चाहते हैं सेवा मेरे, जो सेकंडफ्रागमेंट है। एक नीली रेखा दिखाई देनी चाहिए। जब SecondFragment को नीले रंग से हाइलाइट किया जाता है, तो इन गंतव्यों के बीच लिंक बनाने के लिए कर्सर को छोड़ दें।

अब FirstFragment को SecondFragment से जोड़ने वाला एक एक्शन तीर होना चाहिए। इस तीर का चयन करने के लिए क्लिक करें, और "एट्रिब्यूट" पैनल इस क्रिया के बारे में कुछ जानकारी प्रदर्शित करने के लिए अपडेट करेगा, जिसमें इसकी सिस्टम-निर्दिष्ट आईडी शामिल है।

यह परिवर्तन नेविगेशन ग्राफ़ के XML में भी दिखाई देता है:

… … …

कुल्ला और दोहराएँ एक कार्रवाई को जोड़ने के लिए SecondFragment को ThirdFragment और एक क्रिया को FirstFragment से जोड़कर।

नेविगेशन ग्राफ की मेजबानी

नेविगेशन ग्राफ़ आपके ऐप के गंतव्य और कार्यों का एक दृश्य प्रतिनिधित्व प्रदान करता है, लेकिन इन कार्यों को लागू करने के लिए कुछ अतिरिक्त कोड की आवश्यकता होती है।

एक बार जब आप एक नेविगेशन ग्राफ़ बना लेते हैं, तो आपको उस गतिविधि के लेआउट फ़ाइल में एक NavHostFragment जोड़कर गतिविधि के अंदर इसे होस्ट करने की आवश्यकता होती है। यह NavHostFragment एक कंटेनर प्रदान करता है जहां नेविगेशन हो सकता है और उपयोगकर्ता द्वारा आपके ऐप के आसपास नेविगेट किए जाने वाले टुकड़ों को स्वैप करने के लिए भी जिम्मेदार होगा।

अपनी परियोजना की "activity_main.xml" फ़ाइल खोलें और एक NavHostFragment जोड़ें।

<? xml संस्करण = "1.0" एन्कोडिंग = "utf-8"?> // एक टुकड़ा बनाएं जो कि नवहस्तक्षेप के रूप में कार्य करेगा। //

उपरोक्त कोड में, एप्लिकेशन: defaultNavHost = "true" सिस्टम के "बैक" बटन को दबाने पर नेविगेशन होस्ट को इंटरसेप्ट करने की अनुमति देता है, इसलिए ऐप हमेशा आपके नेविगेशन ग्राफ़ में वर्णित नेविगेशन का सम्मान करता है।

NavController के साथ परिवर्तन ट्रिगर

इसके बाद, हमें एक NavController को लागू करने की आवश्यकता है, जो एक नया घटक है जो एक NavHostFragment के भीतर नेविगेशन की प्रक्रिया के प्रबंधन के लिए जिम्मेदार है।

नई स्क्रीन पर नेविगेट करने के लिए, आपको नेविगेशन.findNavController का उपयोग करके एक NavController को पुनः प्राप्त करने की आवश्यकता है, नेविगेट () विधि को कॉल करें, फिर या तो उस गंतव्य की आईडी पास करें जिसे आप नेविगेट कर रहे हैं या जिस कार्य को आप आमंत्रित करना चाहते हैं। उदाहरण के लिए, मैं "Action_firstFragment_to_secondFragment," को आमंत्रित कर रहा हूं, जो उपयोगकर्ता को FirstFragment से SecondFragment तक ले जाएगा:

NavController navController = Navigation.findNavController (getActivity (), R.id.my_nav_host_fragment); navController.navigate (R.id.action_firstFragment_to_secondFragment);

उपयोगकर्ता एक बटन पर क्लिक करके एक नई स्क्रीन पर चला जाएगा, इसलिए हमें एक OnClickListener भी लागू करना होगा।

ये परिवर्तन करने के बाद, FirstFragment कुछ इस तरह दिखना चाहिए:

आयात android.os.Bundle; import android.support.annotation.NonNull; आयात android.support.annotation.Nullable; आयात android.support.v4.app.Fragment; आयात android.view.LayoutInflater; आयात android.view.View; आयात android.view.ViewGroup; आयात android.widget.Button; import androidx.navigation.NavController; import androidx.navigation.Navigation; सार्वजनिक वर्ग FirstFragment फ़्रैगमेंट {public FirstFragment () {} @Override सार्वजनिक शून्य onCreate (बंडल सहेजी गईInstanceState) {super.onCreate (saveInstanceState) का विस्तार करता है; if (getArguments ()! = null) {}} @Override public View onCreateView (LayoutInflater inflater, ViewGroup कंटेनर, बंडल सहेजा गया InstanceState) {return inflater.inflate (R.layout.fragment_first, container, false); } @Override public void onViewCreated (@NonNull View view, @Nullable बंडल saveInstanceState) {बटन बटन = (बटन) view.findViewById (R.id.button); button.setOnClickListener (नया दृश्य ।nClickListener () {@Override public void onClick (View v) {NavController navController = Navigation.findNavController (getctctivity (), R.id.my_nav_host_fragment); navController। }}); }}

इसके बाद, अपनी मुख्यता खोलें और निम्नलिखित जोड़ें:

  • NavigationView.OnNavigationItemSelectedListener: नेविगेशन आइटम पर घटनाओं को संभालने के लिए एक श्रोता
  • SecondFragment.OnFragmentInteractionListener: एक इंटरफ़ेस जो तब उत्पन्न हुआ था जब आपने नेविगेशन संपादक के माध्यम से SecondFragment बनाया था

MainActivity को onFragmentInteraction () विधि को लागू करने की भी आवश्यकता है, जो टुकड़े और गतिविधि के बीच संचार की अनुमति देता है।

import android.support.v7.app.AppCompatActivity; आयात android.os.Bundle; आयात android.net.Uri; आयात android.view.MenuItem; आयात android.support.design.widget.NavigationView; import android.support.annotation.NonNull; सार्वजनिक वर्ग MainActivity का विस्तार AppCompatActivity का उपयोग करता है setContentView (R.layout.activity_main); } @ ऑवरराइड सार्वजनिक बूलियन onNavigationItemSelected (@NonNull MenuItem आइटम) / झूठे; } @Override सार्वजनिक शून्य onFragmentInteraction (उड़ी उड़ी) {}}

अधिक नेविगेशन जोड़ना

हमारे ऐप के बाकी नेविगेशन को लागू करने के लिए, हमें बस ऑनस्क्रीन व्यू ब्लॉक को कॉपी / पेस्ट करना होगा और कुछ ट्विक्स करने होंगे ताकि हम सही बटन विजेट और नेविगेशन एक्शन का संदर्भ लें।

अपना SecondFragment खोलें और निम्नलिखित जोड़ें:

@Override public void onViewCreated (@NonNull View view, @Nullable बंडल saveInstanceState) {बटन बटन = (बटन) view.findViewById (R.id.button2); button.setOnClickListener (नया दृश्य ।nClickListener () {@Override public void onClick (View v) {NavController navController = Navigation.findNavController (getctctivity) (), R.id.my_nav_host_fragment; navController.nroller_naver पर जाएं। }}); }

फिर, तृतीय फ़्रेगमेंट के ऑन-व्यू किए गए ब्लॉक को अपडेट करें:

@Override सार्वजनिक शून्य onViewCreated (@NonNull दृश्य देखें, @ पुराना बंडल सहेजा गया है ।ststState) {बटन बटन = (बटन) view.findViewById (R.id.button3); button.setOnClickListener (नया दृश्य ।nClickListener () {@Override public void onClick (View v) {NavController navController = Navigation.findNavController (getctctivity (), R.id.my_nav_host_fragment); navController.nroller_naver। }}); }

अंत में, अपने MainActivity के लिए ThirdFragment.OnFragmentInteractionListener इंटरफ़ेस जोड़ना न भूलें

सार्वजनिक वर्ग MainActivity, AppCompatActivity को लागू करता है, नेविगेशन व्यू .nNavigationItemSelectedListener, SecondFragment.OnFragmentInteractionListener, ThirdFragment.OnagragmentInteractionListener {

इस प्रोजेक्ट को अपने Android डिवाइस या Android वर्चुअल डिवाइस (AVD) पर चलाएं और नेविगेशन का परीक्षण करें। आपको विभिन्न बटनों पर क्लिक करके सभी तीन टुकड़ों के बीच नेविगेट करने में सक्षम होना चाहिए।

कस्टम संक्रमण एनिमेशन बनाना

इस बिंदु पर, उपयोगकर्ता आपके ऐप के चारों ओर घूम सकता है, लेकिन प्रत्येक टुकड़े के बीच संक्रमण बहुत अचानक होता है। इस अंतिम खंड में, हम प्रत्येक बदलाव के लिए एक अलग एनीमेशन जोड़ने के लिए नेविगेशन घटक का उपयोग करेंगे, इसलिए वे अधिक आसानी से होते हैं।

प्रत्येक एनीमेशन जिसे आप उपयोग करना चाहते हैं, उसे "रेस / एनीमेशन" निर्देशिका के अंदर अपनी एनीमेशन संसाधन फ़ाइल में परिभाषित किया जाना चाहिए। यदि आपकी परियोजना में पहले से ही "res / anim" निर्देशिका नहीं है, तो आपको एक बनाने की आवश्यकता होगी:

  • अपनी परियोजना के "res" फ़ोल्डर को नियंत्रित करें और "नया> Android संसाधन निर्देशिका" चुनें।
  • इस निर्देशिका को नाम "एनिमेशन" दें।
  • "संसाधन प्रकार" ड्रॉपडाउन खोलें, और "ऐनिमेशन" चुनें।
  • ओके पर क्लिक करें।"

फीका-आउट एनीमेशन परिभाषित करके चलो शुरू करें:

  • अपनी परियोजना के "res / anim" निर्देशिका को नियंत्रित करें।
  • "नया> एनिमेशन संसाधन फ़ाइल" चुनें।
  • इस फ़ाइल को "fade_out" नाम दें।
  • अपनी "fade_out" फ़ाइल खोलें, और निम्नलिखित जोड़ें:

एक दूसरी एनीमेशन संसाधन फ़ाइल बनाने के लिए उपरोक्त चरणों को दोहराएं, जिसका नाम "स्लाइड_आउट_फ्लैट" है, फिर निम्नलिखित जोड़ें:

एक तीसरी फ़ाइल बनाएँ, जिसका नाम "Slide_out_right" है और निम्नलिखित जोड़ें:

अब आप नेविगेशन संपादक के माध्यम से अपने कार्यों के लिए इन एनिमेशन को असाइन कर सकते हैं।जब भी उपयोगकर्ता FirstFragment से SecondFragment में नेविगेट करता है, फीका-आउट एनीमेशन चलाने के लिए:

  • अपना नेविगेशन ग्राफ़ खोलें और सुनिश्चित करें कि "डिज़ाइन" टैब चुना गया है।
  • कार्रवाई को चुनने के लिए क्लिक करें जो FirstFragment को SecondFragment से जोड़ता है।
  • "गुण" पैनल में, "परिवर्तन" अनुभाग का विस्तार करने के लिए क्लिक करें। डिफ़ॉल्ट रूप से, इस अनुभाग में प्रत्येक ड्रॉपडाउन को "कोई नहीं" पर सेट किया जाना चाहिए।
  • "एंटर" ड्रॉपडाउन खोलें, जो कि एनीमेशन को नियंत्रित करता है जो जब भी खेलता है, तो सेकंडफ्रेग्मेंट बैक स्टैक के शीर्ष पर स्थानांतरित होता है। "Fade_out" एनीमेशन का चयन करें।

यदि आप "डिज़ाइन" टैब पर जाते हैं, तो आप देखेंगे कि यह एनीमेशन "action_firstFragment_to_secondFragment" में जोड़ा गया है।

अपने Android डिवाइस या AVD पर अद्यतन की गई परियोजना चलाएँ। जब भी आप FirstFragment से SecondFragment पर नेविगेट करते हैं, तो आपको एक फीका-आउट प्रभाव का सामना करना चाहिए।

यदि आप "गुण" पैनल पर एक और नज़र डालते हैं, तो आप देखेंगे कि "एन्टर" संक्रमण का एकमात्र हिस्सा नहीं है जहाँ आप एक एनीमेशन लागू कर सकते हैं। आप इसमें से भी चुन सकते हैं:

  • बाहर जाएं: एक टुकड़ा होने पर खेलने वाला एनीमेशन स्टैक छोड़ रहा है
  • पॉप दर्ज करें: एक टुकड़ा होने पर खेलने वाला एनीमेशन स्टैक के शीर्ष पर पॉप्युलेट होता है
  • पॉप बाहर निकलें: जब एक टुकड़ा एक स्टैक के नीचे से संक्रमण होता है, तो वह एनीमेशन

अपने संक्रमण के विभिन्न भागों में अलग-अलग एनिमेशन लागू करके प्रयोग करने का प्रयास करें। आप पूरा प्रोजेक्ट GitHub से भी डाउनलोड कर सकते हैं।

समेट रहा हु

इस लेख में, हमने देखा कि कैसे आप कस्टम-ट्रांजिशन एनिमेशन के साथ एक एकल-गतिविधि, एकाधिक-टुकड़ा अनुप्रयोग बनाने के लिए नेविगेशन आर्किटेक्चर घटक का उपयोग कर सकते हैं। क्या नेविगेशन घटक ने आपको इस तरह की एप्लिकेशन संरचना में अपनी परियोजनाओं को स्थानांतरित करने के लिए आश्वस्त किया है? नीचे टिप्पणी करके हमें बताएं!

पंच-होल डिस्प्लेपॉली कार्बोनेट का निर्माण162.4 x 77.3 x 8.9 मिमी201gवीवो जेड 1 प्रो मोल्ड को तोड़ता है और एक डिजाइन पेश करता है जो उच्च कीमत वाले फोन से तत्वों का परिचय देता है। चलो फ़ोन के सामने से श...

कल, एक दुर्लभ बात हुई: एप्पल के सीईओ टिम कुक ने निवेशकों को एक खुला पत्र दिया जिसमें कंपनी के राजस्व अनुमानों के बारे में बताया गया था। आप यहां पूरा पत्र पढ़ सकते हैं, लेकिन मूल जानकारी बहुत सरल है: i...

आकर्षक रूप से