![నావిగేషన్ కాంపోనెంట్ - ఆండ్రాయిడ్ స్టూడియో ట్యుటోరియల్](https://i.ytimg.com/vi/DI0NIk-7cz8/hqdefault.jpg)
విషయము
- నావిగేషన్ ఆర్కిటెక్చర్ భాగం ఏమిటి?
- Android స్టూడియోకి నావిగేషన్ ఎడిటర్ను కలుపుతోంది
- ప్రాజెక్ట్ డిపెండెన్సీలు: నావిగేషన్ ఫ్రాగ్మెంట్ మరియు నావిగేషన్ UI
- మీ అనువర్తనం నావిగేషన్ యొక్క దృశ్య అవలోకనాన్ని పొందండి
- నావిగేషన్ గ్రాఫ్ను జనాభా చేయడం: గమ్యస్థానాలను కలుపుతోంది
- మీ శకలం లేఅవుట్లను నవీకరిస్తోంది
- Fragment_first.xml
- Fragment_second.xml
- Fragment_third.xml
- మీ గమ్యస్థానాలను చర్యలతో కనెక్ట్ చేస్తోంది
- నావిగేషన్ గ్రాఫ్ను హోస్ట్ చేస్తోంది
- NavController తో పరివర్తనలను ప్రేరేపిస్తుంది
- మరింత నావిగేషన్ను కలుపుతోంది
- అనుకూల పరివర్తన యానిమేషన్లను సృష్టిస్తోంది
- చుట్టి వేయు
2018 యొక్క I / O సమావేశంలో, Android అనువర్తనాలను అభివృద్ధి చేయడానికి గూగుల్ కొత్త విధానాన్ని ప్రకటించింది.
మీ అనువర్తనం యొక్క ప్రధాన ప్రవేశ కేంద్రంగా పనిచేసే ఒకే కార్యాచరణను సృష్టించడం, ఆపై మీ అప్లికేషన్ యొక్క మిగిలిన కంటెంట్ను శకలాలుగా అందించడం Google యొక్క అధికారిక సిఫార్సు.
ఆ విభిన్న శకలాలు లావాదేవీలు మరియు జీవిత చక్రాలన్నింటినీ గారడీ చేయాలనే ఆలోచన ఒక పీడకలలాగా అనిపించవచ్చు, I / O 2018 లో గూగుల్ నావిగేషన్ ఆర్కిటెక్చర్ కాంపోనెంట్ను కూడా ప్రారంభించింది, ఈ రకమైన సింగిల్ కార్యాచరణ నిర్మాణాన్ని అవలంబించడంలో మీకు సహాయపడటానికి రూపొందించబడింది.
ఈ వ్యాసంలో, మీ ప్రాజెక్ట్కు నావిగేషన్ భాగాన్ని ఎలా జోడించాలో మరియు Android స్టూడియో యొక్క కొత్త నావిగేషన్ ఎడిటర్ నుండి కొద్దిగా సహాయంతో ఒకే-కార్యాచరణ, బహుళ-శకలం అనువర్తనాన్ని త్వరగా మరియు సులభంగా సృష్టించడానికి మీరు దాన్ని ఎలా ఉపయోగించవచ్చో మేము మీకు చూపుతాము. మీరు మీ శకలాలు సృష్టించిన తర్వాత మరియు కనెక్ట్ చేసిన తర్వాత, పూర్తిగా అనుకూలీకరించదగిన పరివర్తన యానిమేషన్ల శ్రేణిని సృష్టించడానికి నావిగేషన్ భాగం మరియు ఎడిటర్ను ఉపయోగించడం ద్వారా మేము Android యొక్క ప్రామాణిక శకట పరివర్తనలను మెరుగుపరుస్తాము.
నావిగేషన్ ఆర్కిటెక్చర్ భాగం ఏమిటి?
ఆండ్రాయిడ్ జెట్ప్యాక్లో భాగంగా, నావిగేషన్ ఆర్కిటెక్చర్ కాంపోనెంట్ మీ అప్లికేషన్ ద్వారా విభిన్న మార్గాలను దృశ్యమానం చేయడంలో మీకు సహాయపడుతుంది మరియు ఈ మార్గాలను అమలు చేసే విధానాన్ని సులభతరం చేస్తుంది, ప్రత్యేకించి శకలాలు లావాదేవీలను నిర్వహించేటప్పుడు.
నావిగేషన్ భాగాన్ని ఉపయోగించడానికి, మీరు నావిగేషన్ గ్రాఫ్ను సృష్టించాలి, ఇది మీ అనువర్తనం యొక్క కార్యాచరణలు మరియు శకలాలు ఒకదానితో ఒకటి ఎలా సంబంధం కలిగి ఉన్నాయో వివరించే XML ఫైల్.
నావిగేషన్ గ్రాఫ్ వీటిని కలిగి ఉంటుంది:
- గమ్యస్థానాలు: వినియోగదారు నావిగేట్ చేయగల వ్యక్తిగత తెరలు
- చర్యలు: మీ అనువర్తనం యొక్క గమ్యస్థానాల మధ్య వినియోగదారు తీసుకోగల మార్గాలు
మీరు Android స్టూడియో యొక్క నావిగేషన్ ఎడిటర్లో మీ ప్రాజెక్ట్ యొక్క నావిగేషన్ గ్రాఫ్ యొక్క దృశ్యమాన ప్రాతినిధ్యాన్ని చూడవచ్చు. క్రింద, నావిగేషన్ ఎడిటర్లో కనిపించే విధంగా మూడు గమ్యస్థానాలు మరియు మూడు చర్యలతో కూడిన నావిగేషన్ గ్రాఫ్ మీకు కనిపిస్తుంది.
నావిగేషన్ భాగం Google యొక్క క్రొత్త సిఫార్సు చేసిన అనువర్తన నిర్మాణాన్ని అమలు చేయడంలో మీకు సహాయపడటానికి రూపొందించబడింది, ఇక్కడ ఒకే కార్యాచరణ నావిగేషన్ గ్రాఫ్ను “హోస్ట్ చేస్తుంది” మరియు మీ అన్ని గమ్యస్థానాలు శకలాలుగా అమలు చేయబడతాయి. ఈ వ్యాసంలో, మేము ఈ సిఫార్సు చేసిన విధానాన్ని అనుసరిస్తాము మరియు మెయిన్ యాక్టివిటీ మరియు మూడు శకలాలు గమ్యస్థానాలను కలిగి ఉన్న అనువర్తనాన్ని సృష్టిస్తాము.
అయితే, నావిగేషన్ భాగం ఈ సిఫార్సు చేసిన నిర్మాణాన్ని కలిగి ఉన్న అనువర్తనాల కోసం మాత్రమే కాదు. ఒక ప్రాజెక్ట్ బహుళ నావిగేషన్ గ్రాఫ్లను కలిగి ఉంటుంది మరియు మీరు ఆ నావిగేషన్ గ్రాఫ్స్లో శకలాలు మరియు కార్యాచరణలను గమ్యస్థానాలుగా ఉపయోగించవచ్చు. మీరు పెద్ద, పరిణతి చెందిన ప్రాజెక్ట్ను నావిగేషన్ భాగానికి మారుస్తుంటే, మీ అనువర్తనం యొక్క నావిగేషనల్ ప్రవాహాలను సమూహాలుగా వేరు చేయడం మీకు తేలిక అనిపించవచ్చు, ఇక్కడ ప్రతి సమూహంలో “ప్రధాన” కార్యాచరణ, కొన్ని సంబంధిత శకలాలు మరియు దాని స్వంత నావిగేషన్ గ్రాఫ్ ఉంటాయి.
Android స్టూడియోకి నావిగేషన్ ఎడిటర్ను కలుపుతోంది
నావిగేషన్ భాగం, ఆండ్రాయిడ్ స్టూడియో 3.2 కానరీ మరియు అధిక లక్షణాలను కొత్త నావిగేషన్ ఎడిటర్ నుండి పొందడంలో మీకు సహాయపడటానికి.
ఈ ఎడిటర్ను ప్రారంభించడానికి:
- Android స్టూడియో మెను బార్ నుండి “Android స్టూడియో> ప్రాధాన్యతలు…” ఎంచుకోండి.
- ఎడమ చేతి మెనులో, “ప్రయోగాత్మక” ఎంచుకోండి.
- ఇది ఇప్పటికే ఎంచుకోకపోతే, “నావిగేషన్ ఎడిటర్ను ప్రారంభించు” చెక్బాక్స్ను ఎంచుకోండి.
- “సరే” క్లిక్ చేయండి.
- Android స్టూడియోని పున art ప్రారంభించండి.
ప్రాజెక్ట్ డిపెండెన్సీలు: నావిగేషన్ ఫ్రాగ్మెంట్ మరియు నావిగేషన్ UI
మీకు నచ్చిన సెట్టింగ్లతో క్రొత్త ప్రాజెక్ట్ను సృష్టించండి, ఆపై దాని బిల్డ్.గ్రాడిల్ ఫైల్ను తెరిచి, నావిగేషన్-ఫ్రాగ్మెంట్ మరియు నావిగేషన్- ui ని ప్రాజెక్ట్ డిపెండెన్సీలుగా జోడించండి:
డిపెండెన్సీలు {అమలు ఫైల్ ట్రీ (dir: libs, include :) అమలు com.android.support:appcompat-v7:28.0.0 అమలు com.android.support.constraint: పరిమితి-లేఅవుట్: 1.1.3 // కింది // అమలును జోడించండి "android.arch.navigation: navigation-frament: 1.0.0-alpha05" // నావిగేషన్- UI కొన్ని సహాయక ఫంక్షన్లకు ప్రాప్తిని అందిస్తుంది // అమలు "android.arch.navigation: navigation-ui: 1.0.0-alpha05" అమలు com .android.support: support-v4: 28.0.0 testImplementation junit: junit: 4.12 androidTestImplementation com.android.support.test: runner: 1.0.2 androidTestImplementation com.android.support.test.espresso: espresso-core: 3.0.2 }
మీ అనువర్తనం నావిగేషన్ యొక్క దృశ్య అవలోకనాన్ని పొందండి
నావిగేషన్ గ్రాఫ్ సృష్టించడానికి:
- మీ ప్రాజెక్ట్ యొక్క “res” డైరెక్టరీని నియంత్రించండి మరియు “క్రొత్త> Android వనరుల డైరెక్టరీ” ఎంచుకోండి.
- “రిసోర్స్ రకం” డ్రాప్డౌన్ తెరిచి “నావిగేషన్” ఎంచుకోండి.
- “సరే” ఎంచుకోండి.
- మీ క్రొత్త “res / navigation” డైరెక్టరీని కంట్రోల్-క్లిక్ చేసి, “New> నావిగేషన్ రిసోర్స్ ఫైల్” ఎంచుకోండి.
- “రిసోర్స్ రకం” డ్రాప్డౌన్ తెరిచి “నావిగేషన్” ఎంచుకోండి.
- ఈ ఫైల్ పేరు ఇవ్వండి; నేను “nav_graph” ని ఉపయోగిస్తున్నాను.
- “సరే” క్లిక్ చేయండి.
మీ “res / navigation / nav_graph” ఫైల్ను తెరవండి మరియు నావిగేషన్ ఎడిటర్ స్వయంచాలకంగా ప్రారంభించబడుతుంది. లేఅవుట్ ఎడిటర్ మాదిరిగానే, నావిగేషన్ ఎడిటర్ “డిజైన్” మరియు “టెక్స్ట్” టాబ్లుగా విభజించబడింది.
మీరు “టెక్స్ట్” టాబ్ను ఎంచుకుంటే, మీరు ఈ క్రింది XML ని చూస్తారు:
<? xml version = "1.0" ఎన్కోడింగ్ = "utf-8"?> // నావిగేషన్ ’అనేది ప్రతి నావిగేషన్ గ్రాఫ్ యొక్క రూట్ నోడ్ //
“డిజైన్” టాబ్ అంటే మీరు మీ అనువర్తనం నావిగేషన్ను దృశ్యమానంగా నిర్మించవచ్చు మరియు సవరించవచ్చు.
ఎడమ నుండి కుడికి, నావిగేషన్ ఎడిటర్ వీటిని కలిగి ఉంటుంది:
- గమ్యస్థానాల జాబితా: ఇది ఈ ప్రత్యేకమైన నావిగేషన్ గ్రాఫ్ను తయారుచేసే అన్ని గమ్యస్థానాలను మరియు నావిగేషన్ గ్రాఫ్ హోస్ట్ చేసిన కార్యాచరణను జాబితా చేస్తుంది.
- గ్రాఫ్ ఎడిటర్: గ్రాఫ్ ఎడిటర్ అన్ని గ్రాఫ్ గమ్యస్థానాలకు మరియు వాటిని కనెక్ట్ చేసే చర్యల యొక్క దృశ్య అవలోకనాన్ని అందిస్తుంది.
- లక్షణాల ఎడిటర్: మీరు గ్రాఫ్ ఎడిటర్లో గమ్యం లేదా చర్యను ఎంచుకుంటే, “గుణాలు” ప్యానెల్ ప్రస్తుతం ఎంచుకున్న అంశం గురించి సమాచారాన్ని ప్రదర్శిస్తుంది.
నావిగేషన్ గ్రాఫ్ను జనాభా చేయడం: గమ్యస్థానాలను కలుపుతోంది
మా నావిగేషన్ గ్రాఫ్ ప్రస్తుతం ఖాళీగా ఉంది. కొన్ని గమ్యస్థానాలను చేర్చుదాం.
మీరు ఇప్పటికే ఉన్న కార్యాచరణలు లేదా శకలాలు జోడించవచ్చు, కానీ క్రొత్త శకలాలు త్వరగా మరియు సులభంగా సృష్టించడానికి మీరు నావిగేషన్ గ్రాఫ్ను కూడా ఉపయోగించవచ్చు:
- “క్రొత్త గమ్యం” బటన్ను క్లిక్ చేసి, “ఖాళీ గమ్యాన్ని సృష్టించండి” ఎంచుకోండి.
- “ఫ్రాగ్మెంట్ పేరు” ఫీల్డ్లో, మీ శకలం యొక్క తరగతి పేరును నమోదు చేయండి; నేను “ఫస్ట్ఫ్రాగ్మెంట్” ఉపయోగిస్తున్నాను.
- “లేఅవుట్ XML సృష్టించు” చెక్బాక్స్ ఎంచుకోబడిందని నిర్ధారించుకోండి.
- “ఫ్రాగ్మెంట్ లేఅవుట్ పేరు” ఫీల్డ్ను పూర్తి చేయండి; నేను “ఫ్రాగ్మెంట్_ఫస్ట్” ఉపయోగిస్తున్నాను.
- “ముగించు” క్లిక్ చేయండి.
ఫస్ట్ఫ్రాగ్మెంట్ సబ్క్లాస్ మరియు సంబంధిత “frament_first.xml” లేఅవుట్ రిసోర్స్ ఫైల్ ఇప్పుడు మీ ప్రాజెక్ట్కు జోడించబడుతుంది. నావిగేషన్ గ్రాఫ్లో ఫస్ట్ఫ్రాగ్మెంట్ కూడా గమ్యస్థానంగా కనిపిస్తుంది.
మీరు నావిగేషన్ ఎడిటర్లో ఫస్ట్ఫ్రాగ్మెంట్ను ఎంచుకుంటే, “గుణాలు” ప్యానెల్ ఈ గమ్యం గురించి దాని తరగతి పేరు మరియు మీ కోడ్లోని మరెక్కడా ఈ గమ్యాన్ని సూచించడానికి మీరు ఉపయోగించే ఐడి వంటి కొంత సమాచారాన్ని ప్రదర్శిస్తుంది.
మీ ప్రాజెక్ట్కు సెకండ్ఫ్రాగ్మెంట్ మరియు థర్డ్ఫ్రాగ్మెంట్ను జోడించడానికి కడిగి, పునరావృతం చేయండి.
“టెక్స్ట్” టాబ్కు మారండి మరియు ఈ మార్పులను ప్రతిబింబించేలా XML నవీకరించబడిందని మీరు చూస్తారు.
ప్రతి నావిగేషన్ గ్రాఫ్కు ప్రారంభ గమ్యం ఉంది, ఇది వినియోగదారు మీ అనువర్తనాన్ని ప్రారంభించినప్పుడు ప్రదర్శించబడే స్క్రీన్. పై కోడ్లో, మేము ఫస్ట్ఫ్రాగ్మెంట్ను మా అనువర్తనం ప్రారంభ గమ్యస్థానంగా ఉపయోగిస్తున్నాము. మీరు “డిజైన్” టాబ్కు మారితే, మీరు ఇంటి చిహ్నాన్ని గమనించవచ్చు, ఇది ఫస్ట్ఫ్రాగ్మెంట్ను గ్రాఫ్ ప్రారంభ గమ్యస్థానంగా సూచిస్తుంది.
మీరు వేరే ప్రారంభ బిందువును ఉపయోగించాలనుకుంటే, ప్రశ్నలోని కార్యాచరణ లేదా భాగాన్ని ఎంచుకుని, ఆపై “గుణాలు” ప్యానెల్ నుండి “ప్రారంభ గమ్యాన్ని సెట్ చేయండి” ఎంచుకోండి.
ప్రత్యామ్నాయంగా, మీరు కోడ్ స్థాయిలో ఈ మార్పు చేయవచ్చు:
ఇప్పుడు మన గమ్యస్థానాలు ఉన్నాయి, కొన్ని యూజర్ ఇంటర్ఫేస్ ఎలిమెంట్లను చేర్చుదాము, తద్వారా మనం ప్రస్తుతం చూస్తున్న భాగాన్ని ఎల్లప్పుడూ స్పష్టంగా తెలుస్తుంది. నేను ప్రతి భాగానికి ఈ క్రింది వాటిని జోడించబోతున్నాను: ప్రతి లేఅవుట్ వనరుల ఫైల్ కోసం కోడ్ ఇక్కడ ఉంది: తదుపరి దశ చర్యల ద్వారా మన గమ్యస్థానాలను అనుసంధానిస్తుంది. సాధారణ డ్రాగ్ మరియు డ్రాప్ ఉపయోగించి మీరు నావిగేషన్ ఎడిటర్లో చర్యను సృష్టించవచ్చు:మీ శకలం లేఅవుట్లను నవీకరిస్తోంది
Fragment_first.xml
Fragment_second.xml
Fragment_third.xml
మీ గమ్యస్థానాలను చర్యలతో కనెక్ట్ చేస్తోంది
ఫస్ట్ఫ్రాగ్మెంట్ను సెకండ్ఫ్రాగ్మెంట్కు అనుసంధానించే చర్య బాణం ఇప్పుడు ఉండాలి. ఈ బాణాన్ని ఎంచుకోవడానికి క్లిక్ చేయండి మరియు సిస్టమ్-కేటాయించిన ID తో సహా ఈ చర్య గురించి కొంత సమాచారాన్ని ప్రదర్శించడానికి “లక్షణం” ప్యానెల్ నవీకరించబడుతుంది.
ఈ మార్పు నావిగేషన్ గ్రాఫ్ యొక్క XML లో కూడా ప్రతిబింబిస్తుంది:
సెకండ్ఫ్రాగ్మెంట్ను థర్డ్ఫ్రాగ్మెంట్కు మరియు థర్డ్ఫ్రాగ్మెంట్ను ఫస్ట్ఫ్రాగ్మెంట్కు అనుసంధానించే చర్యను సృష్టించడానికి శుభ్రం చేయు మరియు పునరావృతం చేయండి. నావిగేషన్ గ్రాఫ్ మీ అనువర్తనం యొక్క గమ్యస్థానాలు మరియు చర్యల యొక్క దృశ్యమాన ప్రాతినిధ్యాన్ని అందిస్తుంది, కానీ ఈ చర్యలను ప్రారంభించడానికి కొన్ని అదనపు కోడ్ అవసరం. మీరు నావిగేషన్ గ్రాఫ్ను సృష్టించిన తర్వాత, ఆ కార్యాచరణ యొక్క లేఅవుట్ ఫైల్కు NavHostFragment ను జోడించడం ద్వారా మీరు దాన్ని కార్యాచరణలో హోస్ట్ చేయాలి. ఈ NavHostFragment నావిగేషన్ సంభవించే కంటైనర్ను అందిస్తుంది మరియు వినియోగదారు మీ అనువర్తనం చుట్టూ నావిగేట్ చేస్తున్నప్పుడు లోపలికి మరియు వెలుపల శకలాలు ఇచ్చిపుచ్చుకోవడానికి కూడా ఇది బాధ్యత వహిస్తుంది. మీ ప్రాజెక్ట్ యొక్క “activity_main.xml” ఫైల్ను తెరిచి, NavHostFragment ని జోడించండి. <? xml version = "1.0" ఎన్కోడింగ్ = "utf-8"?> // NavHostFragment // గా పనిచేసే ఒక భాగాన్ని సృష్టించండి పై కోడ్లో, అనువర్తనం: defaultNavHost = ”true” సిస్టమ్ యొక్క “వెనుక” బటన్ నొక్కినప్పుడల్లా నావిగేషన్ హోస్ట్ను అడ్డగించడానికి అనుమతిస్తుంది, కాబట్టి మీ నావిగేషన్ గ్రాఫ్లో వివరించిన నావిగేషన్ను అనువర్తనం ఎల్లప్పుడూ గౌరవిస్తుంది. తరువాత, మేము NavController ను అమలు చేయాలి, ఇది NavHostFragment లో నావిగేషన్ ప్రక్రియను నిర్వహించడానికి బాధ్యత వహించే కొత్త భాగం. క్రొత్త స్క్రీన్కు నావిగేట్ చెయ్యడానికి, మీరు Navigation.findNavController ను ఉపయోగించి NavController ని తిరిగి పొందాలి, నావిగేట్ () పద్ధతిని పిలవండి, ఆపై మీరు నావిగేట్ చేస్తున్న గమ్యం యొక్క ID ని లేదా మీరు అమలు చేయదలిచిన చర్యను పాస్ చేయండి. ఉదాహరణకు, నేను “action_firstFragment_to_secondFragment” ని ప్రారంభిస్తున్నాను, ఇది వినియోగదారుని ఫస్ట్ఫ్రాగ్మెంట్ నుండి సెకండ్ఫ్రాగ్మెంట్కు రవాణా చేస్తుంది: NavController navController = Navigation.findNavController (getActivity (), R.id.my_nav_host_fragment); navController.navigate (R.id.action_firstFragment_to_secondFragment); బటన్ను క్లిక్ చేయడం ద్వారా వినియోగదారు క్రొత్త స్క్రీన్కు వెళతారు, కాబట్టి మేము కూడా ఆన్క్లిక్లిస్టెనర్ను అమలు చేయాలి. ఈ మార్పులు చేసిన తర్వాత, ఫస్ట్ఫ్రాగ్మెంట్ ఇలా ఉండాలి: android.os.Bundle దిగుమతి; 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 దిగుమతి; androidx.navigation.NavController దిగుమతి; androidx.navigation.Navigation; పబ్లిక్ క్లాస్ ఫస్ట్ఫ్రాగ్మెంట్ ఫ్రాగ్మెంట్ను విస్తరిస్తుంది {పబ్లిక్ ఫస్ట్ఫ్రాగ్మెంట్ () {public public పబ్లిక్ శూన్యతను ఆన్క్రియేట్ చేయండి (బండిల్ సేవ్ఇన్స్టాన్స్స్టేట్) {super.onCreate (saveInstanceState); if (getArguments ()! = null) {}} C క్రియేట్ వ్యూ (లేఅవుట్ఇన్ఫ్లేటర్ ఇన్ఫ్లేటర్, వ్యూగ్రూప్ కంటైనర్, బండిల్ సేవ్ఇన్స్టాన్స్స్టేట్) {రిటర్న్ ఇన్ఫ్లేటర్.ఇన్ఫ్లేట్ (R.layout.fragment_first, కంటైనర్, తప్పుడు); } @Override ప్రజా గర్జన onViewCreated (@NonNull వీక్షించండి, @Nullable కట్ట savedInstanceState) {బటన్ బటన్ = (బటన్) view.findViewById (R.id.button); button.setOnClickListener (క్రొత్త View.OnClickListener () public public పబ్లిక్ శూన్యతపై క్లిక్ చేయండి (v చూడండి) }}); }} తరువాత, మీ మెయిన్ యాక్టివిటీని తెరిచి, కింది వాటిని జోడించండి: మెయిన్ఆక్టివిటీకి ఆన్ఫ్రాగ్మెంట్ ఇంటరాక్షన్ () పద్ధతిని కూడా అమలు చేయాలి, ఇది శకలం మరియు కార్యాచరణ మధ్య కమ్యూనికేషన్ను అనుమతిస్తుంది. android.support.v7.app.AppCompatActivity దిగుమతి; android.os.Bundle దిగుమతి; android.net.Uri దిగుమతి; android.view.MenuItem దిగుమతి; android.support.design.widget.NavigationView దిగుమతి; android.support.annotation.NonNull దిగుమతి; పబ్లిక్ క్లాస్ మెయిన్ఆక్టివిటీ AppCompatActivity విస్తరిస్తుంది NavigationView.OnNavigationItemSelectedListener, SecondFragment. setContentView (R.layout.activity_main); Public పబ్లిక్ బూలియన్ను ఓవర్రైడ్ ఆన్ నావిగేషన్ఇటెమ్సెలెక్టెడ్ (onNonNull మెనూఇటెమ్ అంశం) false తప్పుడు తిరిగి; F ఫ్రాగ్మెంట్ ఇంటరాక్షన్ (ఉరి ఉరి) పై పబ్లిక్ శూన్యతను అధిగమించండి {}} మా అనువర్తనం యొక్క మిగిలిన నావిగేషన్ను అమలు చేయడానికి, మేము ఆన్వ్యూ వ్యూ క్రియేటెడ్ బ్లాక్ను కాపీ / పేస్ట్ చేయాలి మరియు కొన్ని ట్వీక్లు చేయాలి, తద్వారా మేము సరైన బటన్ విడ్జెట్లు మరియు నావిగేషన్ చర్యలను సూచిస్తున్నాము. మీ సెకండ్ఫ్రాగ్మెంట్ను తెరిచి, కింది వాటిని జోడించండి: View వ్యూ క్రియేటెడ్ (on నన్ వ్యూ వ్యూ, ulla నబుల్ బండిల్ సేవ్ఇన్స్టాన్స్ స్టేట్) {బటన్ బటన్ = (బటన్) view.findViewById (R.id.button2); button.setOnClickListener (క్రొత్త View.OnClickListener () public public పబ్లిక్ శూన్యతను ఆన్క్లిక్ చేయండి (v చూడండి) }}); } అప్పుడు, థర్డ్ ఫ్రాగ్మెంట్ యొక్క ఆన్ వ్యూ క్రియేటెడ్ బ్లాక్ను నవీకరించండి: View వ్యూ క్రియేటెడ్ (on నన్ వ్యూ వ్యూ, ulla నబుల్ బండిల్ సేవ్ఇన్స్టాన్స్ స్టేట్) {బటన్ బటన్ = (బటన్) view.findViewById (R.id.button3); button.setOnClickListener (క్రొత్త View.OnClickListener () public public పబ్లిక్ శూన్యతను ఆన్క్లిక్ చేయండి (v చూడండి) }}); } చివరగా, థర్డ్ఫ్రాగ్మెంట్ను జోడించడం మర్చిపోవద్దు. మీ మెయిన్ యాక్టివిటీకి ఆన్ఫ్రాగ్మెంట్ ఇంటరాక్షన్ లిస్టెనర్ ఇంటర్ఫేస్: పబ్లిక్ క్లాస్ మెయిన్ఆక్టివిటీ యాప్కాంపాట్ యాక్టివిటీని విస్తరిస్తుంది నావిగేషన్ వ్యూ.ఒన్నావిగేషన్ఇటెమ్సెలెక్టెడ్ లిస్టెనర్, సెకండ్ఫ్రాగ్మెంట్.ఆన్ఫ్రాగ్మెంట్ ఇంటరాక్షన్లిస్టెనర్, థర్డ్ఫ్రాగ్మెంట్.ఆన్ఫ్రాగ్మెంట్ఇంటరాక్షన్ లిస్టెనర్ { ఈ ప్రాజెక్ట్ను మీ Android పరికరం లేదా Android వర్చువల్ పరికరం (AVD) లో అమలు చేయండి మరియు నావిగేషన్ను పరీక్షించండి. విభిన్న బటన్లను క్లిక్ చేయడం ద్వారా మీరు మూడు శకలాలు మధ్య నావిగేట్ చేయగలరు. ఈ సమయంలో, వినియోగదారు మీ అనువర్తనం చుట్టూ తిరగవచ్చు, కానీ ప్రతి భాగం మధ్య పరివర్తనం చాలా ఆకస్మికంగా ఉంటుంది. ఈ చివరి విభాగంలో, ప్రతి పరివర్తనకు భిన్నమైన యానిమేషన్ను జోడించడానికి మేము నావిగేషన్ భాగాన్ని ఉపయోగిస్తాము, కాబట్టి అవి మరింత సజావుగా జరుగుతాయి. మీరు ఉపయోగించాలనుకునే ప్రతి యానిమేషన్ దాని స్వంత యానిమేషన్ రిసోర్స్ ఫైల్లో “res / anim” డైరెక్టరీలో నిర్వచించబడాలి. మీ ప్రాజెక్ట్ ఇప్పటికే “res / anim” డైరెక్టరీని కలిగి ఉండకపోతే, మీరు ఒకదాన్ని సృష్టించాలి: ఫేడ్-అవుట్ యానిమేషన్ను నిర్వచించడం ద్వారా ప్రారంభిద్దాం: “Slide_out_left” పేరుతో రెండవ యానిమేషన్ రిసోర్స్ ఫైల్ను సృష్టించడానికి పై దశలను పునరావృతం చేయండి, ఆపై ఈ క్రింది వాటిని జోడించండి: “Slide_out_right” పేరుతో మూడవ ఫైల్ను సృష్టించండి మరియు కింది వాటిని జోడించండి: మీరు ఇప్పుడు నావిగేషన్ ఎడిటర్ ద్వారా మీ చర్యలకు ఈ యానిమేషన్లను కేటాయించవచ్చు.ఫస్ట్ఫ్రాగ్మెంట్ నుండి సెకండ్ఫ్రాగ్మెంట్కు వినియోగదారు నావిగేట్ చేసినప్పుడు ఫేడ్-అవుట్ యానిమేషన్ను ప్లే చేయడానికి: నావిగేషన్ గ్రాఫ్ను హోస్ట్ చేస్తోంది
NavController తో పరివర్తనలను ప్రేరేపిస్తుంది
మరింత నావిగేషన్ను కలుపుతోంది
అనుకూల పరివర్తన యానిమేషన్లను సృష్టిస్తోంది
మీరు “డిజైన్” టాబ్కి మారితే, ఈ యానిమేషన్ “action_firstFragment_to_secondFragment” కు జోడించబడిందని మీరు చూస్తారు.
నవీకరించబడిన ప్రాజెక్ట్ను మీ Android పరికరం లేదా AVD లో అమలు చేయండి. మీరు ఫస్ట్ఫ్రాగ్మెంట్ నుండి సెకండ్ఫ్రాగ్మెంట్కు నావిగేట్ చేసినప్పుడు మీరు ఇప్పుడు ఫేడ్-అవుట్ ప్రభావాన్ని ఎదుర్కోవాలి. మీరు “గుణాలు” ప్యానెల్లో మరోసారి పరిశీలిస్తే, మీరు యానిమేషన్ను వర్తింపజేయగల పరివర్తన యొక్క ఏకైక భాగం “ఎంటర్” కాదని మీరు చూస్తారు. మీరు వీటి నుండి కూడా ఎంచుకోవచ్చు: మీ పరివర్తనాల యొక్క వివిధ భాగాలకు వేర్వేరు యానిమేషన్లను వర్తింపజేయడం ద్వారా ప్రయోగాలు చేయడానికి ప్రయత్నించండి. మీరు పూర్తి చేసిన ప్రాజెక్ట్ను గిట్హబ్ నుండి డౌన్లోడ్ చేసుకోవచ్చు. ఈ వ్యాసంలో, కస్టమ్ ట్రాన్సిషన్ యానిమేషన్లతో పూర్తి చేసిన సింగిల్-యాక్టివిటీ, బహుళ-ఫ్రాగ్మెంట్ అప్లికేషన్ను సృష్టించడానికి మీరు నావిగేషన్ ఆర్కిటెక్చర్ భాగాన్ని ఎలా ఉపయోగించవచ్చో మేము చూశాము. నావిగేషన్ భాగం మీ ప్రాజెక్ట్లను ఈ రకమైన అప్లికేషన్ స్ట్రక్చర్కు మార్చమని మిమ్మల్ని ఒప్పించిందా? దిగువ వ్యాఖ్యలలో మాకు తెలియజేయండి!చుట్టి వేయు