پریشانی سے پاک ٹکڑے: Android کے نیویگیشن فن تعمیراتی جز کا استعمال کریں

مصنف: John Stephens
تخلیق کی تاریخ: 2 جنوری 2021
تازہ کاری کی تاریخ: 6 جولائی 2024
Anonim
NavController اور نیویگیشن گراف کے ساتھ مسائل کو حل کرنا
ویڈیو: NavController اور نیویگیشن گراف کے ساتھ مسائل کو حل کرنا

مواد


2018 کی I / O کانفرنس کے دوران ، گوگل نے اینڈرائیڈ ایپس تیار کرنے کے ل a ایک نیا انداز اپنانے کا اعلان کیا۔

گوگل کی سرکاری سفارش یہ ہے کہ ایک ایسی سرگرمی بنائی جائے جو آپ کے ایپ کے مرکزی داخلے کے نقطہ کی حیثیت سے کام کرے ، پھر اپنی درخواست کے بقیہ مواد کو ٹکڑوں کے طور پر فراہم کرے۔

اگرچہ ان تمام مختلف ٹکڑوں کے لین دین اور زندگی کے چکروں کو جگمگانے کا خیال کسی ڈراؤنے خواب کی طرح محسوس ہوسکتا ہے ، I / O 2018 میں ، گوگل نے نیویگیشن آرکیٹیکچر اجزاء بھی لانچ کیا جو آپ کو اس طرح کے واحد سرگرمی ڈھانچے کو اپنانے میں مدد کرنے کے لئے ڈیزائن کیا گیا ہے۔

اس آرٹیکل میں ، ہم آپ کو دکھائیں گے کہ آپ اپنے پروجیکٹ میں نیویگیشن جزو کو کس طرح شامل کریں اور آپ اسے اینڈروئیڈ اسٹوڈیو کے نئے نیویگیشن ایڈیٹر کی تھوڑی مدد سے جلدی اور آسانی سے ایک واحد سرگرمی ، متعدد ٹکڑے کی ایپلی کیشن بنانے کے لئے کس طرح استعمال کرسکتے ہیں۔ ایک بار جب آپ اپنے ٹکڑے تیار کرلیتے ہیں اور اس سے منسلک ہوجاتے ہیں تو ، ہم مکمل طور پر تخصیص پذیر منتقلی متحرک تصاویر کی ایک حد تیار کرنے کے لئے نیویگیشن جزو اور ایڈیٹر کا استعمال کرکے Android کے معیاری ٹکڑے کی منتقلی میں بہتری لائیں گے۔


نیویگیشن فن تعمیر کا جز کیا ہے؟

اینڈروئیڈ جیٹ پییک کا ایک حصہ ، نیویگیشن آرکیٹیکچر اجزاء آپ کو اپنی درخواست کے ذریعے مختلف راستوں کو تصور کرنے میں مدد کرتا ہے اور ان راستوں پر عمل درآمد کو آسان بنانے میں مدد دیتا ہے ، خاص طور پر جب ٹکڑے کا لین دین سنبھالنے کی بات آتی ہے۔

نیویگیشن اجزاء کو استعمال کرنے کے ل you ، آپ کو نیویگیشن گراف بنانے کی ضرورت ہوگی ، جو ایک XML فائل ہے جس میں یہ بیان کیا گیا ہے کہ آپ کی ایپ کی سرگرمیاں اور ٹکڑے ایک دوسرے سے کیسے جڑے ہوئے ہیں۔

ایک نیویگیشن گراف پر مشتمل ہے:

  • مقامات: صارف انفرادی اسکرینوں پر جاسکتا ہے جن پر صارف جاسکتی ہے
  • عمل: صارف آپ کی ایپ کی منزل مقصود کے درمیان لے جانے والے راستوں کو

آپ اینڈروئیڈ اسٹوڈیو کے نیویگیشن ایڈیٹر میں اپنے پروجیکٹ کے نیویگیشن گراف کی بصری نمائندگی دیکھ سکتے ہیں۔ ذیل میں ، آپ کو ایک نیویگیشن گراف ملے گا جس میں تین منزل مقصود اور تین افعال پر مشتمل ہے جیسے یہ نیویگیشن ایڈیٹر میں ظاہر ہوتا ہے۔


نیویگیشن جزو گوگل کے نئے تجویز کردہ ایپ ڈھانچے کو نافذ کرنے میں آپ کی مدد کے لئے ڈیزائن کیا گیا ہے ، جہاں ایک ہی سرگرمی نیوی گیشن گراف کو "میزبان" بناتی ہے ، اور آپ کی ساری منزل مقصود کے طور پر لاگو ہوتی ہے۔ اس آرٹیکل میں ، ہم اس تجویز کردہ نقطہ نظر کی پیروی کریں گے اور ایک ایسی ایپلی کیشن تیار کریں گے جس میں مین ایکٹیویٹی اور تین ٹکڑوں کی منزل مقصود ہو۔

تاہم ، نیویگیشن اجزاء صرف ان ایپلی کیشنز کے لئے نہیں ہیں جن کے پاس یہ تجویز کردہ ڈھانچہ ہے۔ ایک پروجیکٹ میں ایک سے زیادہ نیوی گیشن گراف ہوسکتے ہیں ، اور آپ ان نیوی گیشن گرافوں میں منزلوں کے بطور ٹکڑے اور سرگرمیاں استعمال کرسکتے ہیں۔ اگر آپ نیویگیشن جزو میں ایک بڑے ، پختہ پروجیکٹ کو منتقل کررہے ہیں تو ، آپ کو اپنے ایپ کے نیویگیشنل بہاؤ کو گروپوں میں الگ کرنا آسان ہوسکتا ہے ، جہاں ہر گروپ میں "مین" سرگرمی ، کچھ متعلقہ ٹکڑے ، اور اس کا اپنا نیویگیشن گراف ہوتا ہے۔

نیویگیشن ایڈیٹر کو اینڈروئیڈ اسٹوڈیو میں شامل کرنا

نیویگیشن جزو سے زیادہ سے زیادہ فائدہ اٹھانے میں آپ کی مدد کے لئے ، Android اسٹوڈیو 3.2 کینری اور اعلی خصوصیات میں ایک نیا نیویگیشن ایڈیٹر ہے۔

اس مدیر کو فعال کرنے کے لئے:

  • اینڈروئیڈ اسٹوڈیو مینو بار سے "Android اسٹوڈیو> ترجیحات…" منتخب کریں۔
  • بائیں ہاتھ والے مینو میں ، "تجرباتی" کا انتخاب کریں۔
  • اگر یہ پہلے سے منتخب نہیں ہوا ہے تو ، "نیویگیشن ایڈیٹر کو فعال کریں" چیک باکس کو منتخب کریں۔

  • "ٹھیک ہے" پر کلک کریں۔
  • Android اسٹوڈیو کو دوبارہ شروع کریں۔

پروجیکٹ کا انحصار: نیویگیشن فریگمنٹ اور نیویگیشن UI

اپنی پسند کی ترتیبات کے ساتھ ایک نیا پروجیکٹ بنائیں ، پھر اس کی build.gradle فائل کو کھولیں اور نیویگیشن فریکمنٹ اور نیویگیشن ui کو پروجیکٹ کی انحصار کے بطور شامل کریں:

انحصار {عمل درآمد فائل (در: libs ، شامل ہیں:) عمل درآمد com.android.support:appcompat-v7:28.0.0 نفاذ com.android.support.constraint: رکاوٹ لے آؤٹ: 1.1.3 // مندرجہ ذیل شامل کریں // عمل درآمد "android.arch.navication: नेविगेशन-फ्रेगमेंट: 1.0.0-alpha05" // نیویگیشن-UI کچھ مددگار افعال تک // عمل درآمد تک رسائی فراہم کرتی ہے "android.arch.navication: navigation-ui: 1.0.0-alpha05" عمل درآمد com .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: espresso-core: 3.0.2 }

اپنے ایپ کی نیویگیشن کا ایک جائزہ جائزہ لیں

نیوی گیشن گراف بنانے کے لئے:

  • اپنے پروجیکٹ کی "ریس" ڈائریکٹری کو کنٹرول کریں اور "نیو> اینڈروئیڈ ریسورس ڈائرکٹری" کو منتخب کریں۔
  • "وسائل کی قسم" ڈراپ ڈاؤن کو کھولیں اور "نیویگیشن" کا انتخاب کریں۔
  • "ٹھیک ہے" کو منتخب کریں۔
  • اپنی نئی "ریس / نیویگیشن" ڈائریکٹری کو کنٹرول کریں اور "نیا> نیویگیشن ریسورس فائل" کو منتخب کریں۔
  • "وسائل کی قسم" ڈراپ ڈاؤن کو کھولیں اور "نیویگیشن" کو منتخب کریں۔

  • اس فائل کا نام دیں؛ میں استعمال کر رہا ہوں “नाव_سیگراف”۔
  • "ٹھیک ہے" پر کلک کریں۔

اپنی "ریس / نیویگیشن / نیویگراف" فائل کھولیں ، اور نیویگیشن ایڈیٹر خودبخود لانچ ہوگا۔ لے آؤٹ ایڈیٹر کی طرح ، نیویگیشن ایڈیٹر کو "ڈیزائن" اور "ٹیکسٹ" ٹیبز میں تقسیم کیا گیا ہے۔

اگر آپ "ٹیکسٹ" ٹیب کو منتخب کرتے ہیں تو ، آپ کو مندرجہ ذیل XML نظر آئے گا:

<؟ xML version = "1.0" encoding = "utf-8"؟> // نیویگیشن ’ہر نیویگیشن گراف کا بنیادی نوڈ ہے //

"ڈیزائن" ٹیب وہ جگہ ہے جہاں آپ اپنے ایپ کی نیویگیشن کو ضعف بنا سکتے ہیں۔

بائیں سے دائیں ، نیویگیشن ایڈیٹر پر مشتمل ہے:

  • مقامات کی فہرست: اس میں وہ تمام منزلوں کی فہرست ہے جو اس خاص نیوی گیشن گراف کی تشکیل کرتی ہیں ، اور اس کے علاوہ وہ سرگرمی جہاں نیویگیشن گراف کی میزبانی ہوتی ہے۔
  • گراف ایڈیٹر: گراف ایڈیٹر گراف کی تمام منزلوں اور ان سے منسلک ہونے والی کارروائیوں کا ایک جائزہ پیش کرتا ہے۔
  • اوصاف ایڈیٹر: اگر آپ گراف ایڈیٹر میں منزل یا کسی عمل کو منتخب کرتے ہیں تو ، "اوصاف" پینل اس وقت منتخب کردہ آئٹم کے بارے میں معلومات ظاہر کرے گا۔

نیوی گیشن گراف آباد کرنا: مقامات کو شامل کرنا

ہمارا نیویگیشن گراف فی الحال خالی ہے۔ آئیے کچھ منزلیں شامل کریں۔

آپ ایسی سرگرمیاں یا ٹکڑے شامل کرسکتے ہیں جو پہلے سے موجود ہیں ، لیکن آپ جلدی اور آسانی سے نئے ٹکڑے بنانے کے لئے نیوی گیشن گراف کا بھی استعمال کرسکتے ہیں:

  • "نئی منزل مقصود" کے بٹن پر کلک کریں ، اور "خالی منزل بنائیں" کو منتخب کریں۔

  • "ٹکڑے کا نام" فیلڈ میں ، اپنے ٹکڑے کا کلاس کا نام درج کریں۔ میں "فرسٹ فراگمنٹ" استعمال کر رہا ہوں۔
  • اس بات کو یقینی بنائیں کہ "XML بنائیں" چیک باکس منتخب کیا گیا ہے۔
  • "ٹکڑے کا لے آؤٹ نام" فیلڈ مکمل کریں؛ میں "فریگمنٹ_پہلی" استعمال کر رہا ہوں۔
  • "ختم" پر کلک کریں۔

اب آپ کے پروجیکٹ میں فرسٹ فراگمنٹ سب کلاس اور اسی سے متعلق "فاکمنٹ_فسٹ ڈاٹ ایکس ایل" لے آؤٹ ریسورس فائل کو شامل کیا جائے گا۔ فرسٹ فراگمنٹ نیوی گیشن گراف میں منزل کی حیثیت سے بھی نظر آئے گا۔

اگر آپ نیویگیشن ایڈیٹر میں فرسٹ فراگمنٹ منتخب کرتے ہیں ، تو پھر "اوصاف" پینل اس منزل کے بارے میں کچھ معلومات ظاہر کرے گا ، جیسے اس کے کلاس کا نام اور وہ ID جس کو آپ اپنے کوڈ میں کہیں اور اس منزل کا حوالہ دینے کے لئے استعمال کریں گے۔

کلین کریں اور اپنے پروجیکٹ میں سیکنڈ فراگمنٹ اور تیسری فراگمنٹ شامل کرنے کے لئے دہرائیں۔

"ٹیکسٹ" ٹیب پر جائیں اور آپ دیکھیں گے کہ ان تبدیلیوں کو ظاہر کرنے کے لئے XML کو اپ ڈیٹ کر دیا گیا ہے۔

ہر نیویگیشن گراف کی ابتداء منزل ہوتی ہے ، جو اسکرین ہے جو اس وقت ظاہر ہوتی ہے جب صارف آپ کے ایپ کو لانچ کرتا ہے۔ مذکورہ کوڈ میں ، ہم فرسٹ فراگمنٹ کو اپنی ایپ کی ابتدائی منزل کے بطور استعمال کر رہے ہیں۔ اگر آپ "ڈیزائن" ٹیب پر سوئچ کرتے ہیں تو آپ کو ایک گھر کا آئیکن نظر آئے گا ، جس میں فرسٹ فراگمنٹ کو گراف کی شروعات کی منزل کے طور پر بھی نشان زد کیا جائے گا۔

اگر آپ کسی مختلف نقطہ اغاز کو استعمال کرنا چاہتے ہیں تو ، پھر سوال میں موجود سرگرمی یا ٹکڑا منتخب کریں ، اور پھر "اوصاف" پینل سے "اسٹارٹ اسٹارٹ منزل" کا انتخاب کریں۔

متبادل کے طور پر ، آپ کوڈ لیول پر یہ تبدیلی کر سکتے ہیں:

اپنے ٹکڑے کی ترتیب کو اپ ڈیٹ کرنا

اب ہمارے پاس اپنی منزلیں ہیں ، آئیے کچھ صارف انٹرفیس عناصر شامل کریں تاکہ یہ واضح ہوجائے کہ ہم فی الحال کون سا ٹکڑا دیکھ رہے ہیں۔

میں ہر ٹکڑے میں درج ذیل کو شامل کرنے جا رہا ہوں:

  • ایک ٹیکسٹ ویو جس میں ٹکڑے کا عنوان شامل ہے
  • ایک بٹن جو صارف کو ایک ٹکڑے سے دوسرے ٹکڑے پر جانے کی اجازت دیتا ہے

ہر لے آؤٹ ریسورس فائل کا کوڈ یہاں ہے۔

فریگمنٹ_فسٹ ڈاٹ ایکس ایل

فریگمنٹ_ سیکنڈ ڈاٹ ایکس ایل

فریگمنٹ_تھر.ایم ایل

اپنی منزل مقصود کو اعمال کے ساتھ مربوط کرنا

اگلا قدم اپنی منزل مقصود کو اعمال کے ذریعہ جوڑ رہا ہے۔

آپ نیویگیشن ایڈیٹر میں سادہ ڈریگ اینڈ ڈراپ کا استعمال کرکے ایکشن تشکیل دے سکتے ہیں۔

  • یقینی بنائیں کہ ایڈیٹر کا "ڈیزائن" ٹیب منتخب ہوا ہے۔
  • منزل کے دائیں جانب ہوور کریں جس پر آپ تشریف لے جانا چاہتے ہیں سے، جو اس مثال میں فرسٹ فراگمنٹ ہے۔ ایک دائرہ پیش ہونا چاہئے۔
  • اپنے کرسر کو اس منزل تک لے جاکر کھینچیں جس پر آپ تشریف لے جانا چاہتے ہیں کرنے کے لئے، جو سیکنڈ فراگمنٹ ہے۔ ایک نیلی لائن نظر آنی چاہئے۔ جب سیکنڈ فراگمنٹ نیلے رنگ کو اجاگر کیا جاتا ہے تو ، ان منزلوں کے مابین ایک لنک بنانے کیلئے کرسر کو ریلیز کریں۔

اب فرسٹ فراگمنٹ کو سیکنڈ فراگمنٹ سے جوڑنے والا ایکشن تیر ہونا چاہئے۔ اس تیر کو منتخب کرنے کے لئے کلک کریں ، اور اس عمل کے بارے میں کچھ معلومات ظاہر کرنے کے لئے "انتساب" پینل تازہ کاری کرے گا ، جس میں اس کے نظام تفویض کردہ ID بھی شامل ہیں۔

یہ تبدیلی نیویگیشن گراف کے XML میں بھی جھلکتی ہے:

… … …

سیکنڈ فراگمنٹ کو تھرڈ فریممنٹ سے جوڑنے اور ایک عمل جو تھرڈ فراگمنٹ کو فرسٹ فراگمنٹ سے جوڑنے کیلئے ایک عمل بنانے کے لin کللا کریں اور دہرائیں۔

نیوی گیشن گراف کی میزبانی کرنا

نیویگیشن گراف آپ کے اطلاق کی منزلوں اور افعال کی ایک نظریاتی نمائندگی فراہم کرتا ہے ، لیکن ان افعال کو مشتہر کرنے میں کچھ اضافی کوڈ درکار ہوتا ہے۔

ایک بار جب آپ نیویگیشن گراف بناتے ہیں تو ، آپ کو اس سرگرمی کی ترتیب فائل میں ایک NavHostFragment شامل کرکے کسی سرگرمی کے اندر اس کی میزبانی کرنے کی ضرورت ہوتی ہے۔ یہ نیویہوسٹ فراگمنٹ ایک کنٹینر فراہم کرتا ہے جہاں نیویگیشن ہوسکتی ہے اور جب آپ کے ایپ کے ارد گرد صارف تشریف لے جاتے ہیں تو ٹکڑوں کو اندر اور باہر تبدیل کرنے کا بھی ذمہ دار ہوگا۔

اپنے پروجیکٹ کی "سرگرمی_المان.ایس ایم ایل" فائل کھولیں اور ایک نیوی ہوسٹ فراگمنٹ شامل کریں۔

<؟ xML version = "1.0" encoding = "utf-8"؟> // ایک ایسا ٹکڑا بنائیں جو نوہوسٹ فراگمنٹ // کے بطور کام کرے گا //

مذکورہ کوڈ میں ، ایپ: defaultNavHost = "true" نیویگیشن ہوسٹ کو جب بھی نظام کا "بیک" بٹن دبائے گا ، کو روکنے کی اجازت دیتا ہے ، لہذا ایپ ہمیشہ آپ کے نیویگیشن گراف میں بیان کردہ نیویگیشن کا اعزاز دیتی ہے۔

NavController کے ساتھ ٹرگرنگ ٹرانزیشنز

اگلا ، ہمیں نیویکنٹرولر کو نافذ کرنے کی ضرورت ہے ، جو ایک نیا جزو ہے جو نیویہوسٹ فراگمنٹ کے اندر نیویگیشن کے عمل کے نظم و نسق کا ذمہ دار ہے۔

کسی نئی اسکرین پر تشریف لانے کے ل you ، آپ کو نیویگیشن ڈاٹ فائنڈ نیویک کنٹرلر کا استعمال کرتے ہوئے ، ایک نیویگیٹر کو بازیافت کرنے کی ضرورت ہے ، نیویگیٹ () کا طریقہ کال کریں ، پھر منزل کی شناخت کریں جس پر آپ تشریف لے جارہے ہیں یا جس عمل کو آپ کال کرنا چاہتے ہیں اسے پاس کریں۔ مثال کے طور پر ، میں "ایکشن_فسٹرفراگمنٹ_ ٹو_ سیکنڈ فراگمنٹ" کی درخواست کررہا ہوں ، جو صارف کو فرسٹ فراگمنٹ سے سیکنڈ فراگمنٹ میں لے جائے گا۔

NavController navController = Navication.findNavController (getActivity ()، R.id.my_nav_host_fraament)؛ navController.navigate (R.id.action_firstFragment_to_secondFragment)؛

صارف ایک بٹن پر کلک کرکے ایک نئی اسکرین پر منتقل ہوگا ، لہذا ہمیں آن کلیک لسٹنر کو بھی نافذ کرنے کی ضرورت ہے۔

یہ تبدیلیاں کرنے کے بعد ، فرسٹ فراگمنٹ کو کچھ اس طرح نظر آنا چاہئے:

android.os.Bundle درآمد کریں۔ درآمد android.support.annotation.NonNull؛ درآمد کریں android.support.annotation.Alalable؛ 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}} @ پبلک ویو آن کریٹ ویو (لے آؤٹ انفلیٹر انفلیٹر ، ویو گروپ گروپ ، کنڈلی سے محفوظ کردہ انسٹانس اسٹیٹ) inf واپس inflater.inflate (R.layout.frament_first ، کنٹینر ، جھوٹا)؛ } @ آوورائڈ پبلک باطل ऑन ویو کریٹیٹڈ (@ نونول ویو دیکھیں ، @ نونبل بنڈل سیویڈ انسٹنس اسٹیٹ) {بٹن بٹن = (بٹن) ویو فائن ویو بائ آئڈ (آر.ایڈ.بٹن)؛ button.setOnClickListener (new View.OnClickListener () {Orride پبلک باطل آن کلیک (دیکھیں وی) {NavController navController = نیویگیشن.فائنڈ نیویکنٹرولر (getActivity () ، R.id.my_nav_host_fragment) nav_Crationrolfr.grationctfr. ؛})؛ }

اگلا ، اپنی مین ایکٹیویٹی کھولیں اور درج ذیل شامل کریں:

  • نیویگیشن ویو.این نیویگیشن آئٹمسیلیٹڈ لیزنٹر: نیویگیشن آئٹمز پر واقعات سے نمٹنے کے لئے ایک سننے والا
  • سیکنڈ فراگمنٹ۔او فراگمنٹ انٹریکشن لسٹنر: ایک انٹرفیس جو آپ نے نیویگیشن ایڈیٹر کے توسط سے سیکنڈ فراگمنٹ بناتے وقت تیار کیا تھا

مین ایکٹیویٹی کو آنفراگمنٹ انٹریکشن () طریقہ کو بھی نافذ کرنے کی ضرورت ہے ، جو ٹکڑے اور سرگرمی کے مابین مواصلات کی اجازت دیتا ہے۔

android.support.v7.app.appCompatActivity درآمد کریں۔ android.os.Bundle درآمد کریں۔ android.net.Uri درآمد کریں؛ درآمد android.view.MenuItem؛ درآمد android.support.design.widget. نیویگیشن ویو؛ درآمد android.support.annotation.NonNull؛ عوامی طبقے کی مین ایکٹیویٹی ایپ کامپیکٹ ایکٹیویٹیشن نیویگیشن ویو کو نافذ کرتی ہے۔ سیٹ کانٹ ویو (R.layout.activity_main)؛ av @ نیویگیشن آئٹمز منتخب (@ نونول مینو آئٹم آئٹم) پر آوررائڈ پبلک بولین ra @ فراگینٹ انٹریکشن (Uri uri) پر باضابطہ باطل عوامی تحریک U}}

مزید نیویگیشن شامل کرنا

ہماری ایپ کی بقیہ نیویگیشن کو نافذ کرنے کے ل we ، ہمیں صرف onViewCreated بلاک کو کاپی / پیسٹ کرنے کی ضرورت ہے اور کچھ موافقت کرنے کی ضرورت ہے تاکہ ہم صحیح بٹن کی بارے چیزیں اور نیویگیشن کارروائیوں کا حوالہ دے رہے ہوں۔

اپنا سیکنڈ فراگمنٹ کھولیں اور درج ذیل شامل کریں:

@ آورائڈ پبلک باطل آن ویوکریٹیٹڈ (@ نونول ویو ویو ، @ نونبل بنڈل سیویڈ انسٹنس اسٹیٹ) {بٹن بٹن = (بٹن) ویو فائنڈ ویو بائڈ (R.id.button2)؛ button.setOnClickListener (new View.OnClickListener () {Orride پبلک باطل آن کلیک (دیکھیں وی) {NavController navController = نیویگیشن.فائنڈ نیویکنٹرولر (getActivity () ، R.id.my_nav_host_fragment) nav_ControlleCr.grationgr. ؛})؛ }

اس کے بعد ، تھرڈ فریممنٹ کے آن ویو کریٹیٹڈ بلاک کو اپ ڈیٹ کریں:

@ آؤٹ رائڈ پبلک باطل آن ویوکریٹیٹڈ (@ نونول ویو ویو ، @ نونبل بنڈل سیویڈ انسٹنس اسٹیٹ) {بٹن بٹن = (بٹن) ویو فائنڈ ویو بائڈ (R.id.button3)؛ button.setOnClickListener (new View.OnClickListener () {Orride پبلک باطل آن کلیک (دیکھیں وی) {NavController navController = Navication.findNavController (getActivity ()، R.id.my_nav_host_fragment) nav_Crationrolwr. ؛})؛ }

آخر میں ، تھری فراگمنٹ شامل کرنا نہ بھولیں ۔اپنی مین سرگرمی میں فراگمنٹ انٹریکشن لسٹنر انٹرفیس کو شامل کریں:

عوامی طبقے کی مین ایکٹیویٹی میں توسیع ایپ کامپٹ ایکٹیویٹی نافذ کرتا ہے نیویگیشن ویو۔ آن نیویگیشن آئٹم سلیٹ لسٹنر ، سیکنڈ فراگمنٹ۔ فرنگمنٹ انٹریکشن لسٹنر ، فرحت انٹیگریشن لسٹنر {

اس پروجیکٹ کو اپنے اینڈروئیڈ ڈیوائس یا اینڈروئیڈ ورچوئل ڈیوائس (اے وی ڈی) پر چلائیں اور نیویگیشن کی جانچ کریں۔ آپ کو مختلف بٹنوں پر کلک کرکے تینوں ٹکڑوں کے بیچ نیویگیٹ کرنے کے قابل ہونا چاہئے۔

حسب ضرورت منتقلی متحرک تصاویر کی تشکیل

اس مقام پر ، صارف آپ کی ایپ کے ارد گرد منتقل ہوسکتا ہے ، لیکن ہر ایک ٹکڑے کے درمیان منتقلی کافی اچانک ہے۔ اس آخری حصے میں ، ہم ہر منتقلی میں مختلف حرکت پذیری شامل کرنے کے لئے نیویگیشن جزو کا استعمال کریں گے ، تاکہ وہ زیادہ آسانی سے ہوں۔

ہر حرکت پذیری جو آپ استعمال کرنا چاہتے ہیں اس کی اپنی حرکت پذیری کے وسائل فائل میں "res / anim" ڈائریکٹری کے اندر ہی وضاحت ہونی چاہئے۔ اگر آپ کے پروجیکٹ میں پہلے سے ہی ایک "ریس / انیم" ڈائرکٹری موجود نہیں ہے تو ، آپ کو ایک تشکیل دینے کی ضرورت ہوگی:

  • اپنے پروجیکٹ کے "ریزی" فولڈر کو کنٹرول کریں اور "نیو> اینڈروئیڈ ریسورس ڈائرکٹری" کو منتخب کریں۔
  • اس ڈائرکٹری کو "anim" نام دیں۔
  • "وسائل کی قسم" ڈراپ ڈاؤن کو کھولیں ، اور "anim" کا انتخاب کریں۔
  • "ٹھیک ہے" پر کلک کریں۔

آئیے ایک مٹ آؤٹ حرکت پذیری کی وضاحت کرکے شروع کریں:

  • اپنے پروجیکٹ کی "ریس / انیم" ڈائریکٹری کو کنٹرول کریں۔
  • "نیا> حرکت پذیری کے وسائل کی فائل" کو منتخب کریں۔
  • اس فائل کو "fade_out" نام دیں۔
  • اپنی "fade_out" فائل کھولیں ، اور درج ذیل شامل کریں:

دوسری حرکت پذیری کے وسائل کی فائل بنانے کے لئے مذکورہ بالا اقدامات دہرائیں ، جس کا نام "سلائیڈ_ آؤٹ_لیفٹ" ہے ، پھر درج ذیل کو شامل کریں:

ایک تیسری فائل بنائیں ، جس کا نام "سلائیڈ_آؤٹ_ائٹ" ہے اور مندرجہ ذیل شامل کریں:

اب آپ یہ حرکت پذیری نیویگیشن ایڈیٹر کے توسط سے اپنے عمل کو تفویض کرسکتے ہیں۔جب بھی فرسٹ فراگمنٹ سے سیکنڈ فراگمنٹ پر صارف تشریف لے جائے تو فیڈ آؤٹ حرکت پذیری کو چلانے کے لئے:

  • اپنا نیویگیشن گراف کھولیں اور یقینی بنائیں کہ "ڈیزائن" ٹیب منتخب ہوا ہے۔
  • فرسٹ فراگمنٹ کو سیکنڈ فراگمنٹ سے جوڑنے والی ایکشن کو منتخب کرنے کے لئے کلک کریں۔
  • "اوصاف" پینل میں ، "ٹرانزیشن" سیکشن کو وسعت دینے کے لئے کلک کریں۔ پہلے سے طے شدہ طور پر ، اس حصے میں ہر ڈراپ ڈاؤن کو "کوئی نہیں" پر سیٹ کیا جانا چاہئے۔
  • "انٹر" ڈراپ ڈاؤن کو کھولیں ، جو حرکت پذیری کو کنٹرول کرتا ہے جو چلتا ہے جب بھی جب سیکنڈ فراگمنٹ پچھلے اسٹیک کے اوپری حصے میں منتقل ہوتا ہے۔ "fade_out" حرکت پذیری منتخب کریں۔

اگر آپ "ڈیزائن" ٹیب پر سوئچ کرتے ہیں تو آپ دیکھیں گے کہ اس حرکت پذیری کو "ایکشن_فورسٹ فراگمنٹ_ٹو_ سیکنڈ فراگمنٹ" میں شامل کردیا گیا ہے۔

اپنے Android ڈیوائس یا AVD پر تازہ کاری شدہ پروجیکٹ کو چلائیں۔ جب بھی آپ فرسٹ فراگمنٹ سے سیکنڈ فراگمنٹ پر تشریف لے جاتے ہیں تو آپ کو فیڈ آؤٹ اثر کا سامنا کرنا چاہئے۔

اگر آپ "اوصاف" پینل پر ایک اور نظر ڈالتے ہیں تو ، آپ دیکھیں گے کہ منتقلی کا صرف "داخل کریں" ہی نہیں ہے جہاں آپ حرکت پذیری کا اطلاق کرسکتے ہیں۔ آپ ان میں سے بھی انتخاب کرسکتے ہیں:

  • باہر نکلیں: حرکت پذیری جو ادا کرتی ہے جب ایک ٹکڑا اسٹیک چھوڑ رہا ہے
  • پاپ انٹری: حرکت پذیری جو ادا کرتی ہے جب ایک ٹکڑا اسٹیک کے اوپری کو آباد کررہا ہے
  • پاپ سے باہر نکلیں: حرکت پذیری جو ادا کرتی ہے جب ایک ٹکڑا اسٹیک کے نیچے منتقل ہوتا ہے

اپنے ٹرانزیشن کے مختلف حصوں پر مختلف متحرک تصاویر کا استعمال کرکے تجربہ کرنے کی کوشش کریں۔ آپ مکمل پروجیکٹ کو گٹ ہب سے بھی ڈاؤن لوڈ کرسکتے ہیں۔

ختم کرو

اس مضمون میں ، ہم نے دیکھا کہ کس طرح آپ کسٹم ٹرانسلیشن متحرک تصاویر کے ساتھ مکمل ایک واحد سرگرمی ، ایک سے زیادہ ٹکڑے کی ایپلی کیشن بنانے کے لئے نیویگیشن آرکیٹیکچر جزو کا استعمال کرسکتے ہیں۔ کیا نیویگیشن جزو نے آپ کو اس طرح کے اطلاق کے ڈھانچے میں اپنے پراجیکٹس کو ہجرت کرنے کا قائل کرلیا ہے؟ ہمیں ذیل میں تبصرے میں بتائیں!

آج ، گوگل نے اعلان کیا ہے کہ اس کا موبائل کیریئر ، گوگل فائی ، باضابطہ طور پر لامحدود منصوبہ حاصل کررہا ہے جس میں ڈیٹا ، کالز ، اور متن شامل ہیں۔ اس مقام تک ، فائی نے صرف ایک منصوبہ پیش کیا ہے: وہ لچک...

گوگل فائی - جس کی شروعات پروجیکٹ فائی کے طور پر ہوئی ہے - ایک آن لائن صرف وائرلیس کیریئر ہے۔ گوگل فائی کا سب سے بڑا فروخت نقطہ یہ ہے کہ آپ صرف اس اعداد و شمار کے لئے ادائیگی کرتے ہیں جو آپ استعمال کرت...

مقبول پوسٹس