زمانی یک نرم افزار را گشوده میکنید، معمولا نخستین دنبال چهچیزی در آن می گردید؟ یا این که چهچیزی در یک نرم افزار میباشد که به مخاطب قابلیت و امکان می دهد تا ازبین آیتمها یا این که کارهایی گزینش نماید؟ جواب این دو پرسش بسیار بدیهی میباشد. جواب عنصر مهمی در رابط کاربری و تجربیات طراحی اپلیکیشن در مشهد کاربری نرم افزارهاست.
منوها کاربردی و ضروری می باشند، چه در وبسایتها چه در نرم افزارها. دراینجا مشاجره اساسی برسر منوها و ساختن آنان در نرم افزارهای اندرویدی میباشد و کاری با منوی وبسایتها نداریم. نرم افزارها چه اندرویدی باشند چه نباشند، المانها و ویژگیهای مشترکی داراهستند. چیزهایی میباشند، مثل منوها، که می بایست در همگیی نرم افزارها باشند.
شاید اینجانب و شمای مخاطب خیلی وقتها عنایت و نقشی را که منوها در بهبود تعامل با نرم افزار داراهستند نادیده بگیریم. البته بسطدهنده اپلیکیشن نمیتواند و نباید ازکنار ساختن منوها بهآسانی بگذرد. منوها اشکال مختلفی دارا هستند. هر منو مطلوب برای کاری میباشد و آیتمهای مختلفی را مشمول میگردد.
دراین مقاله در زمینهی منوها در اندروید حرف می کنم. اشکال منوها در اندروید را به شما معرفی میکنم و یه خرده هم در ارتباط یادگرفتن تشکیل داد منوها در اندروید و کدهای ما یحتاج برای آن گفت و گو خواهم کرد. درآخر، منابع و تارنماهایی که بسطدهنده نرم افزارهای اندرویدی می تواند درباره ی منوها در اندروید بیشتر بخواند معرفی گردیدهاست.
منوها در اندروید
چرا منوها و پیاده سازی آن ها اصلی میباشد؟ یک سری نوع منو می شود با اندروید تشکیل داد؟ هر مورد برای چه هدفی مطلوبخیس میباشد؟ و چطور می شود آن ها را ایجاد کرد؟
نخستین می بایست از التفات منوها ذکر کرد. منوها اساسی میباشند زیرا درواقع تیمای از امور (actions) را که استفاده کننده برای تعامل با نرم افزار به آن ها نیاز داراست دراختیار وی میگذارد. طریقی مجموعهبندی این امور و چیدمان آن ها کنار یکدیگر و درکنار بقیه المانهای کاغذ مسئله بسیار اصلی و حساسی میباشد. زیرا مستقیما بر تجارب کاربری و تعامل مخاطب با نرمافزار اثر میگذارند.
بسطدهنده نرمافزارهای اندرویدی ۳ تعیین داراست. یعنی در اندروید میاقتدار ۳ نوع منو ایجاد کرد (این ۳ نوع منو را درادامه توضیح خواهم اعطا کرد). نکتهی مهمی درباره ی تشکیل داد منوها در اندروید وجود داراست: پیشرفتدهنده نیاز وجود ندارد که منو و تکتک موردها (آیتمها یا این که Items) آن را کدنویسی نماید. بهمکان آن در اندروید، Menu Resource (یا این که منبع منو) وجود دارااست که محل تمجیدکردن منوهای نرم افزار میباشد. توسعه و گسترشدهنده میتواند این منبع را توسعه دهد و جزئیات را به آن بیفزاید. درون دراین منبع، فرمت XML استانداردی برای ایجاد کرد منو تعریف و تمجید شدهاست که می بایست منو و جزئیات آن در باطن آن فرمت تعریفوتمجید گردد.
ارکان (تگهای) اساسی آن ساختار و منبع منو عبارتانداز:
: تگ منو که Container میباشد برای همه گزینهها و مجموعهها و منو را تعریف و تمجید مینماید.
: هر یک از موردها (موردها یا این که آیتمهای منو) دراین تگ تمجید می شود. با این تگ میگردد submenu هم تعریفوتمجید کرد. به هر یک از موردها ممکن میباشد خواصهای مختلفی اضافه گردد که مهمترین آنان id , icon or title میباشند.
: این تگ از روی اختیار میباشد و در صورتیکه پیشرفتدهنده بخواهد موردهای منو را تیمبندی نماید، میتواند از این تگ استعمال نماید.
مزایای استعمال از فرمت XML برای منوها در اندروید
این قابلیت در اندروید، یعنی منبع منو و فرمت استاندارد XML برای تعریفوتمجیدکردن و پیشرفتدادن منو، چه مزیتهایی دارااست و چرا فعالیت را برای بسطدهنده برنامههای اندرویدی شلخیس مینماید؟
دراین فرمت، ساختار منو ازاول مشخص و معلوم میباشد. بسطدهنده شلخیس میتواند این ساختار را مجسم نماید.
بااستفاده از منبع منو، نصیب منو و کدها و جزئیات مرتبط با آن از دیگر قسمتها و کدها غیروابسته گردیده است.
این قابلیت و امکان به پیشرفتدهنده اذن میدهد تا منوهای برخوردگرا برای دستگاههای متعدد تعریف و تمجید نماید.
اشکال منوها در اندروید (+ مثال)
بسطدهنده برنامه های اندرویدی برای ساختن منو ۳ تعیین دارااست: Options Menu, Contextual Menu & Popup Menu. ساختن هرمورد از این منوها درقالب به عبارتی ساختار مهم (منبع منو) در اندروید اعمال میشود. بسطدهنده تجهیزات متعددی برای تغییردادن در ظواهر این منوها ندارد. درادامه با کاربرد و مثالهای این ۳ نوع منو آشنا میشوید.
۱. Options Menu
با منو Options یا این که منو موردها استارت میکنیم. دراین نوع از منو آیتمهایی که دراختیار استفاده کننده قرار می گیرند مربوط میگردند به شغل های اساسی که وی می تواند در گوشه و کنار برنامه جاری ساختن دهد مانند کاوش کردن، بازکردن شیتی تازه، تایپ کردن آدرس اینترنتی تازه و … . جایی کهاین منو اکران داده می گردد براساس اینکه گسترشدهنده از کدام ورژنی اندروید استعمال مینماید گوناگون میباشد. در حالتی که نرم افزار با اندروید 2.0 و تحتخیس تشکیلشده باشد، نتیجه ها میشود منویی که در نصیب بالایی تصویر ذیل می بینید. ولی چنانچه اپلیکیشن با اندروید 3.0 و فراتر تشکیل شده باشد، منو Options در نرم افزار توشه (app bar) اکران داده میگردد (نصیب پایینی تصویر پایین). در تصویر تحت بهخیر مثالای از کاربرد منو Options، محل قرارگرفتن آن و موردهایی که در داخل آن قرار می گیرد آرم داده شدهاست.
۲. Contextual Menu
دومی نوع از منو یا این که Contextual Menu (منوی متنی) کارهایی را دربرمیگیرد که استفاده کننده می تواند بر روی یک المان خاص یا این که تصویر یا این که متن یا این که هرچیزی که تعیین مینماید اعمال دهد. برای مثال هنگامی شما یک عکس را گزینش میکنید و روی آن کلیک می کنید و نگه می دارید، یک منوی متنی برای شما گشوده میگردد که آیتمهای دانلودکردن، حذفکردن یا این که دستکاریکردن را داراست. منوی متنی منویی شناور (Floating Menu) میباشد که بسطدهنده برای اینکه این منو کجا اکران داده خواهد شد دو تعیین داراست. تعیین نخستین به عبارتی چیزی میباشد که در نمونه بیان شده میباشد. گزینش دوم، Contextual action bar در بالای برگه میباشد.
۳. Popup Menu
واپسین منو در اندروید پاپآپ منوها می باشند. توضیحدادن کاربرد این منو در اندروید مقداری شغل رنج میباشد. عالی میباشد اولیه نمونه بزنم. هنگامی استفاده کننده در گوشه و کنار نرم افزار میباشد و ماوس را می برد روی المانی یا این که المانی را میبیند و منویی عمودی گشوده می شود که به وی قابلیت میدهد تا آن المان را بهاشتراک بگذارد یا این که پست الکترونیک نماید یا این که داده ها بیشتری درباره ی آن بگیرد، یک منوی پاپآپ برای وی گشوده میشود. درنتیجه منوی پاپآپ مختص میباشد به المانی که مخاطب میبیند. فرق منو پاپآپ با منوی متنی دراین میباشد که پاپآپ منو ممکن میباشد با یکیاز دو مقصود ذیل در اپلیکیشن قرار داده گردیده باشد: عمل خاصی را که مربوط به آن المان میباشد معرفی نماید یا این که ممکن میباشد توسعه و گسترشدهنده نرم افزار میمراد تا انتخابی گوناگون یا این که اضافهخیس از آنهایی که در منوی متنی وجود دارااست به استفاده کننده بدهد.