مرجع مقالات طراحی اپلیکیشن

مرجع تخصصی انتشار مقالات طراحی اپلیکیشن

مرجع مقالات طراحی اپلیکیشن

مرجع تخصصی انتشار مقالات طراحی اپلیکیشن

MockFlow


10- MockFlow
این ابزار یکی‌از دیگر از ابزارهای پیاده سازی فرانت میباشد که به شما یاری می نماید ایده اول خویش را تهیه و تنظیم کرده و بعد از آن با توسعه و گسترش ی آن و راهنماهای خویش نرم‌افزار طرحتان را بی نقص نمائید همینطور یک ردیاب تجدید حیث در UI این برنامه وجود داراست که به شما در پیاده سازی استاندارد بسیار امداد می نماید و از مزیت های فوق العاده طراحی اپلیکیشن در مشهد  ی آن است.

این ابزار دارنده هزاران components و طرح های از پیش تاسیس شده است که میتوانید متناسب با نیازهای خویش آن‌ها‌را تهیه و تنظیم فرمائید ، و همینطور یک وضعیت پیش اکران برای ارائه فعالیت خویش به همیاران و مشتریان وجود دارااست.

11- Adobe Comp
Adobe Comp یک ابزار پیاده سازی فرانت اینترنت خارق العاده برای iPad میباشد که به ساخت و ساز وایرفریم ، مثال های نخستین و مفاهیم طرح بندی برای صفحه های اینترنت یاری می نماید. این ابزار الگوهای مهم به خواسته طرح بندی برای گوشی و اینترنت دارااست و می‌توانید با کشیدن انواع بصری برای اکران تصاویر ، متن و مورد ها دیگر ، جای یاب های سریع تولید نمائید.

12- Flinto
Flinto ابزاری دیگر برای پیاده سازی فرانت اپلیکیشن و اینترنت میباشد که به شما قابلیت می‌دهد در پیاده سازی های خویش تعاملات بی نظیری ساخت نمائید. Flinto به آسانی تفاوت ها و ایرادات پیاده سازی را نماد میدهد و همینطور قادر است برای شما کارتون ساخت و ساز می نماید که‌این امکان بسیار موءثر میباشد .

13- Axure
این ابزار برای پروژه های غامض که به داده های پویا نیاز دارا‌هستند بسیار خوب است. با Axure ، شما می‌توانید پروژه هایی را که هم فنی می‌باشند و هم نیاز به اعتنا اصلی در ساختار و اطلاعات دارا‌هستند ، تمرکز نمائید. فرآیند پیاده سازی به طور دستی و سوای به کار گیری از ابزار آلات این اپ به بسط دهندگان یاری می نماید تا کالا آخری متناسب با طرح های شما‌را ساخت و ساز نمایند.

14- Justinmind
Justinmind به مثال سازی پیاده سازی بسیار امداد می نماید و با ابزارهای دیگری مانند Sketch و Photoshop نیز قابلیت و امکان مخلوط را دارد. این ابزار مشمول کیت های رابط مخاطب میباشد ، براین اساس می‌توانید به‌سرعت صفحه های را به طور به طور کامل برخورد گرا کنار یکدیگر قرار دهید .

15- Fluid
fluid یک سیستم پیاده سازی توسعه یافته میباشد که رابطه و همیاری گروه شما‌را به ویژه دربین طراحان و گسترش دهندگان بهبود میبخشد. این سیستم با حدس سیستم های پیاده سازی ایجاد شده است و با کدهای منحصربه‌فرد شما نیز مخلوط گردیده و اسنادی را ساخت و ساز می نماید که پیگیری آنان راحت و به طور خود کار آپ دیت میگردند.


سرور چیست ؟
سرور را در واقع میتوان یک ابر رایانه ای دانست ، که وظیفه ی آن تبادل داده ها و ارائه ی جواب به کلاینت یا این که به عبارتی یوزرها میباشد .

در‌صورتی‌که دسترسی به سرور فقط در محدوده یک کانال داخلی باشد، آنرا سرور کانال می‌نامند. و این به‌این معناست که همه کامپیوتر‌های جان دار در‌این کانال، از سرور دستور می گیرند و نیازهای زیر کانال خویش را به یاری آن پشتیبانی می‌نمایند.

ولی مراد ما از سرور ، سرور های اینترنتی و برای یک دسته ای گران قدر از کامپیوتر های مدام پر‌نور میباشد که در همگی تایم شبانه روز به تبادل داده ها و ارسال درخواست به سرور مشغولند که در پی به توضیحات بیشتر و معرفی گونه های آن خوا‌هیم پرداخت .

سرور ها معمولا دارنده قطعات مشقت بار افزاری و بغرنج ی بسیار قدرتمندی هستند که‌این قطعات برای آنها بضاعت جواب 24 ساعته به درخواست یوزرها در سرتاسر جهان را خواهد اعطا کرد . عموما سرورها از پردازنده‌ای کارکشته با تعداد هسته فیزیکی و مجازی به همدم RAM بالا و کارکشته و همینطور هارد‌دیسک هایی با فضای ذخیره‌سازی تعدادی ترابایتی، تشکیل میگردند.

دیتا سنتر چیست ؟
دیتاسنتر محلی است که صدها و یا این که هزاران کیس سرور ( برای حفظ و پردازش داده ها اصلی در کانال به کار گیری می‌گردد) را در رک‌‌‌ها ، کیج‌ها و اتاق‌های متفاوت، مکان می دهد.

دیتاسنتر از قسمت‌های مختلفی مانند اتاق در اختیار گرفتن، اتاق سرور، ژنراتورها، تاسیسات خنک‌سازی، انبار hardware، اتاق UPS و Battery Backup و … تشکیل می گردد. این قسمت‌ها با اعتنا به نیازها، تجهیزات و زیرساخت برای هر راس داده، تماما گوناگون خواهند بود.

سیستم استدلال سرور
بر روی هر سرور بازی یا این که سرور های معمول ، یک سیستم ادله نصب میشود که سبب میشود سرور ساختار قابل انعطاف افزاری خویش را بر طبق امکان های آن سیستم استدلال بتواند به ایفا در بیاورد .

ما کلاً برای سرورها دو سیستم ادله اساسی با اسم های Linux و Windows Server را داریم که به‌دنبال به رسیدگی و تفاوت این دو سیستم دلیل از طریقه ماناتاز خوا‌هیم پرداخت .

JQuery Mobile


10- JQuery Mobile
JQuery Mobile یک سیستم رابط کاربری مطابق HTML5 میباشد. این فریمورک به طور لمسی با صرفه گردیده است و برای ایجاد کرد اپلیکیشن های هوشمند و فول داینامیک برای تلفن های هوشمند و رایانه طراحی اپلیکیشن در مشهد   ها استعمال میگردد.

JQuery دارنده ThemeRollar میباشد که تم های بسیار متنوعی را ارائه می‌دهد. خلال این ، این چارچوب رفیعتر بسط نرم‌افزار موبایل شمارا توانا می سازد تارنما هایی با پویانمایی بالا نیز تولید نمایید .

بعضا از خصوصیت های JQuery عبارتند از:
اندازه مدل
با HTML5 تنظیمات گردیده‌است
فعال‌سازی اتوماتیک
چارچوب تم کار کشته
API بی آلایش
9- NativeScript
NativeScript یک کدام از فریمورک منبع گشوده برای تولید اپلیکیشن های گوشی با Angular ، Vue.js ، TypeScript یا این که JavaScript میباشد. مزیت این فریمورک این میباشد که به طور کاملً بدون‌پول میباشد و ذیل جواز Apache 2 در دسترس است.

شما با به کار گیری از NativeScript میتوانید به گسترش اپ های گوشی برای چند سیستم ادله در طول و هزینه کمتر می‌باشند ، بپردازید.

برخی از خصوصیت های NativeScript عبارتند از:

قابل پیشرفت بودن
دارنده پناه قادر
پیاده سازی نرم افزار های کراس پلتفرم با به کارگیری از این فریمورک
ستفاده از این فریمورک
مثال نرم افزار ها
8- Corona
Corona یک چارچوب توسعه و گسترش یک سری پلتفرمی و منبع گشوده میباشد که برای ایجاد کرد بازی ها و نرم افزار های موبایلی بسیار مطلوب و گزینه به کارگیری قرار می‌گیرد . با به کار گیری از Corona ، می‌توانید نرم افزار های موبایلی و حتی قابل انعطاف افزارهای دسکتاپ تولید فرمائید. این پلت هیبت از iPhone ، iPad ، تبلت ها ، Amazon Fire ، تلفن های Android ، Mac Desktop ، Windows Desktop و … امان می نماید.

بعضی از خصوصیت های Corona عبارتند از:

یک لهجه نرم افزار نویسی قادر و مدل برای بازی ها
پلاگین های گوناگون
پناه API قدرتمند برای ترکیب با هر کتابخانه ساکن
مراحل پیشرفت سریعتر
بیش تر از 500،000 توسعه و گسترش دهنده و پشتوانه Corona
مثال نرم افزار ها
7- Intel XDK
Intel XDK یکی‌از شایسته ترین فریمورک های پیاده سازی نرم افزار میباشد که اطراف بسط دربین پلتفرمی بدون نقص برای اپ های ترکیبی گوشی و توسعه و گسترش نرم افزار های اینترنت میباشد. خصوصیت پررنگ این اطراف این میباشد که توسعه و گسترش دهنده را توانا می سازد تا با هزینه کمتری اپ های ترکیبی مبنی بر HTML5 را تولید ، تست ، انواع زدایی ، تشکیل داد و استقرار نماید.

نرم‌افزار ها با به کارگیری از IDE ساخت‌و‌ساز گردیده و بعد از آن برای مخلوط به یک نرم افزار کد ساکن به Adobe PhoneGap جابجایی داده میگردند. در مجموع می اقتدار ذکر کرد که سفارش نمی‌شود از Intel XDK برای اپلیکیشن های کاربردی هنگفت بی نیاز به کارگیری فرمائید.

همینطور این فریمورک از نرم‌افزار های NodeJS که از پیروزی تولید کننده اینتل به کارگیری می نماید نیز پناه می نماید.

برخی از خصوصیت های Intel XDK عبارتند از:

کد نویسی معمولی و سهل با استعمال از هوش تصنعی و مصنوعی توانمند برای کامل شدن و تصحیح کد ها
آزمایش گیری بسیار هوشمند برای نرم افزار های هوشمند نشر داده گردیده از فرانت تا بک اند
دارنده پلاگین های بسیار کارآمد و مهیا که قابلیت کد نویسی و کامل شدن پیاده سازی نرم افزار را ریلکس خیس می نماید
6- Sencha Ext JS
شما میتوانید از این چارچوب جاوا اسکریپت برای ساخت اپلیکیشن های کاربردی با وسعت بالا برای اینترنت و تلفن همراه به کارگیری فرمائید. همینطور یک چارچوب بسط موبایل یکسری پلتفرمی میباشد.

Ext JS خویش دارنده بیش تر از 115 پلاگین UI از پیش یکدست و با همت بالا میباشد. بعضی از اجزای آن روزنگار HTML5 ، کانال محوری ، کانال ها ، درختان ، آداپتور D3 ، لیست ها ، منوها ، هیبت ها ، نوار ابزار ، پنجره ها ، پانل ها و … میباشد و Sencha دارنده صدها نرم‌افزار افزودنی استفاده کننده میباشد که فرآیند ی پیاده سازی نرم افزار را برای شما بسیار شل خیس می نماید .

بعضا از خصوصیت های Sencha Ext JS عبارتند از:

مدیر میلیون ها داده با وسعت بالا
تجزیه و ارزیابی کارکشته
UI بسیار انعطاف پذیر
اکران داده های بصری

بهترین شبیه سازهای اندرویدی


شایسته ترین مشابه سازها اندرویدی
( قابل ذکر میباشد در کلیه این مشابه سازها ، امکان اجرای اپ ها  طراحی اپلیکیشن در مشهد  و بازی های
اندرویدی وجود داراست به همین انگیزه از توضیحات اضافه در ارتباط این امکان جلوگیری کرده
و فقط قابلیت و امکان های ویژه و خاص هریک از این مشابه سازها تفصیل داده می‌گردد .)

1- BlueStacks :
از قابلیت و امکان های ویژه ی این مشابه ساز می قدرت از پایداری و بدون‌پول بودن آن به طور بدون نقص
اسم پیروزی .
دو‌مین خصوصیت اصلی بلو استک در همگام سازی اپ های اندروید است .
شاید از فقط اختلال این اپ می شود به تبلیغات گاها مزاحمت آمیز آن اسم موفقیت که شما
می‌توانید با پرداخت پولی از شر این تبلیغات نیز خلاص گردید .

2-Nox App Player :
از مهمترین خصوصیت های این مشابه ساز می اقتدار از جاری ساختن هم‌زمان یک‌سری اپلیکیشن ی اندرویدی
اسم پیروزی که شما میتوانید کلیه آن‌ها را به طور هم زمان تجارب و تست فرمایید .
نکته ی دیدنی دیگر این مشابه ساز پیاده سازی UI آن میباشد که به صورتی پیاده سازی شد‌ه‌است
که تماما شبیه با اندروید باشد و حتی‌د‌ر کاهش و یا این که ارتقا صدا در‌این مشابه سازی شاهد
مشابهت آن با تلفن های یار و همدم خواهید بود .

3- nox :
از خصوصیت های منحصربه‌فرد این مشابه ساز می شود به به کارگیری از مصرف باصرفه ی
حافظه موقت و CPU شما اشاره نمود .
این قابلیت و امکان سبب می‌گردد اگر شما از دست کم hardware در اکنون به کار گیری می‌باشید؛
بتوانید به اجرای نرم‌افزار ها فارغ از کاهش سرعت بپردازید .
همنین این مشابه ساز را قادر است بر روی سیستم برهان مکینتاژ نیز نصب فرمائید .
اَپ سنتر از سایر خصوصیت های اصلی این مشابه ساز میباشد که با استعمال از آن میتوانید
نو ترین نرم‌افزار های اندرویدی را به طور پیشنهادی چشم و نصب نمائید .

4- Remix Operating System Player :
این مشابه ساز که با به کارگیری از Android Studio ساخته و باصرفه گردیده است
به طور مخصوص برای گیمرها پیاده سازی گردیده و
شما میتوانید با حداکثر سرعت به تجارب ی بازی های اندروید بپردازید .

5- Genymotion :
این نرم‌افزار نیز به طور منحصربه‌فرد برای برنامه نویس ها و دولوپر پیاده سازی شد‌ه‌است
به اینصورت که با به کارگیری از آن میتوانند به شایسته ترین و باصرفه ترین صورت ممکن به آزمایش
و دیباگ گیری اپ های اندرویدی بپردازند .
قابل ذکر میباشد شما با به کارگیری از این مشابه ساز میتوانید از افزونه های گوناگون و
پیکربندی توسعه یافته برای هر چه جامع تر کردن این دیباگ گیری نیز به کار گیری نمائید .

6- AMIDuOS :
AMIDuOS واپسین مشابه سازی میباشد که قصد معرفی آن را داریم .
شاید بزرگترین عیب این مشابه ساز در غیر مجانی بودن آن است البته
بقیه امکان های آن تحت عنوان یک مزیت شناخته میگردد که پیرو به توضیحات
مرتبط با آن خوا هیم پرداخت .
باشید این مشابه ساز از عجله دهنده 3D سود می‌برد. دفاع از درایور OpenGL در
این مشابه ساز سبب ساز شد‌ه‌است تا بازی های اندرویدی با بالاترین چگونگی به اکران در آیند.
از خصوصیت های دیگر این مشابه ساز دفاع از درایور های گوناگون لپتاپ و کامپیوتر مانند :
دوربین، میکروفون، حسگر فروغ و روشنایی محیطی و …. میباشد که AMIDuOS را به یک کدام از پرطرفدارترین تولیدها بازار تبدیل نموده است.

تاریخچه ی جاوا


تاریخچه ی جاوا

گویش نرم افزار نویسی جاوا یک گویش نرم‌افزار نویسی میباشد که به وسیله جیمز گاسلینگ از Sun Microsystems (Sun) در سال طراحی اپلیکیشن در مشهد  1991 ساخت شد.

شعار و مقصود جاوا این میباشد که یک نرم افزار را یک توشه بنویسد و آن‌گاه این نرم‌افزار را بر روی تعدادی سیستم دلیل انجام نماید.

اولی ورژن همگانی جاوا (جاوا 1.0) در سال 1995 منتشر شد.

Sun Microsystems بوسیله کمپانی Oracle در سال 2010 خریداری شد.

اوراکل اینک مدیر جاوا را در چنگ داراست.

در سال 2006 سان استارت به در دسترس قرار دادن جاوا پایین جواز همگانی همگانی گنو (GPL) کرد.

اکنون اوراکل این پروژه را با اسم OpenJDK ادامه می‌دهد.


با سپری شد فرصت ورژن های توسعه یافته جدیدی از جاوا منتشر گردیده است.

ورژن فعلی جاوا جاوا 1.8 میباشد که به اسم جاوا 8 نیز شناخته می‌گردد.


جاوا با مشخصاتی تعریف‌و‌تمجید میشود و مشتمل بر یک لهجه اپلیکیشن نویسی، یک کامپایلر، کتابخانه های هسته و

یک فرصت انجام (ماشین مجازی جاوا) میباشد.

مجال اعمال جاوا به بسط دهندگان اپ اذن می‌دهد تا کد نرم افزار را به لهجه های دیگری غیر از لهجه نرم افزار نویسی جاوا بنویسند

که هنوز بر روی جاوا ایفا می‌شود؛ ماشین مجازی. پلتفرم جاوا معمولاً با ماشین مجازی جاوا و کتابخانه های هسته جاوا مرتبط میباشد.


خصوصیت های کلی لهجه جاوا

گویش اپلیکیشن نویسی جاوا با خصوصیت های تحت پیاده سازی شد‌ه‌است:


غیر وابسته از پلتفرم : اپ های جاوا از ماشین مجازی جاوا تحت عنوان منبع به کار گیری می نمایند و مستقیماً به سیستم استدلال دسترسی ندارند.

این منجر می گردد اپلیکیشن های جاوا بسیار تعامل پذیر باشند.

یک اپلیکیشن جاوا (که با استاندارد مطابقت و همخوانی دارااست و از ضوابط خاصی تبعیت می نماید)

می‌تواند سوای تغییر تحول در مجموع پلتفرم های هواخواهی گردیده، از جمله، ویندوز یا این که لینوکس ایفا خواهد شد.


لهجه اپ نویسی شی گرا : به جز گونه های داده های اول، کلیه موادتشکیل دهنده در جاوا شی گرا میباشند.


گویش نرم افزار نویسی با تایپ توانا : جاوا به شدت سرعت بالایی دارااست، و با بالاترین سرعت ممکن می اقتدار با آن اپلیکیشن های متبوع خویش را بنویسید .


لهجه تعبیر گردیده و کامپایل گردیده : کد منبع جاوا به پوسته بایت کد منتقل میشود که به پلتفرم مقصود بستگی ندارد.

این راهبرد های بایت کد به وسیله ماشین مجازی جاوا ( JVM) تعبیروتفسیر خواهند شد.

JVM دربردارنده یک به اصطلاح Hotspot-Compiler میباشد که شیوه نامه های بایت “کد حیاتی کوشش” را به آیین نامه های “کد مستقر” ترجمه می نماید.


رئیس اتوماتیک یاد : جاوا اختصاص و عدم اختصاص یاد را برای ساخت‌و‌ساز شی ها نو رئیس می نماید.

نرم‌افزار دسترسی بی واسطه به یاد ندارد.

در واقع خویش جاوا به صورت اتومات اشیایی را که هیچ مکان نما فعالی برای آن‌ها نیست حذف می نماید.


ماشین مجازی جاوا

ماشین مجازی جاوا (JVM ) یک اپ طراحی کامپیوتری میباشد که نرم افزار ها را مانند یک ماشین حقیقی وواقعی انجام می نماید.


ماشین مجازی جاوا به صورت منحصر به فرد برای هر مورد از سیستم کارداران درج شده میباشد .(ویندوز ، لینوکس)


در واقع پروسه عمل به اینصورت میباشد که اپلیکیشن های جاوا بوسیله کامپایلر جاوا در بایت کد کامپایل میگردند.

و آنگاه ماشین مجازی جاوا این بایت کد را تعبیروتفسیر کرده و نرم افزار جاوا را انجام می نماید.


استعمال از کتابخانه ها در جاوا

classpath معلوم می‌نماید که کامپایلر جاوا و مجال اجرای جاوا در‌پی فولدر‌های .class برای بارگیری میباشند.

این آیین نامه ها را می قدرت در نرم افزار جاوا استفاده نمود.

مثلا، در صورتی‌که می‌خواهید از یک کتابخانه فرنگی جاوا به کار گیری نمائید،

بایستی این کتابخانه را به مسیر کلاس خویش اضافه نمایید تا از آن در اپلیکیشن خویش به کار گیری فرمائید.


استارت عمل با جاوا (فراگیری مقدماتی)

(قابل ذکر میباشد برای فهم و شعور بیشتر این یادگرفتن سفارش می شود به اصول کدنویسی یک شناخت کلی را داشته باشید.)


نصب جاوا

برای تمرین هایی که به‌دنبال اجرا خوا‌هیم بخشید بایستی دستکم از جاوا 11 استعمال نمایید.

به کار گیری از ورژن های آجل جاوا نیز مشکلی ندارد .


نصب تایپ کردن او‌لین نرم افزار ی جاوا

اپلیکیشن جاوا پایین زیر لینوکس با به کار گیری از ویرایشگر متن و خط دستور پیشرفت داده شد‌ه‌است.

فرایند در بقیه سیستم عوامل نیز شبیه میباشد البته ما در فراگیری ها صرفا به لینوکس پرداخته ایم .

دایرکتوری جدیدی را تعیین کرده یا این که تولید نمایید که برای گسترش جاوا شما به کار گیری میشود.

در‌این توضیحات از مسیر \\home\\vogella\\javastarter مصرف شده میباشد.

در مایکروسافت ویندوز ممکن میباشد بخواهید از c:\\temp\\javastarter به کارگیری نمایید.

این مسیر در توضیحات ذیل javadir نامیده میگردد.

یک ویرایشگر متنی را گشوده فرمایید که از متن معمولی پناه می نماید، مثلا، gedit در لینوکس یا این که ++Notepad در ویندوز و کد منبع پایین را بنویسید.


// a small Java program

public class HelloWorld {

public static void main(String[] args) {

System.out.println(\"Hello World\");


Structure و Layout


Structure و Layout
در قسمت گذشته ، شما از دو جزء متریال (MDC) برای ساختن یک ورقه ورود به کارگیری کردید: فیلدهای متنی و دکمه ها.
فعلا اذن دهید این شالوده را با اضافه کردن ناوبری، ساختار و اطلاعات طراحی اپلیکیشن در مشهد  توسعه دهیم.

درین قسمت از مغازه ما مستلزم دو نصیب دیگر هستیم که عبارتند از :

نوار اپ بلندتر
لیست کانال ای از محصول ها
افزودن top app bar
وقتی که مخاطب داخل شدن اکنون دفعه به اکران شیت ی مهم میرسد برگه ای که قائدتا بایستی تولیدات شما در آن اکران داده گردد .
در‌این ورقه ما در اولِ عمل قصد داریم تاب توشه را پیاده سازی و طراحی کنیم .

متریال صفحه آرایی اندروید الگوهای ناوبری را ارائه می‌دهد که جایگاه بالایی از امکان استعمال را دارا میباشد.
یک کدام از شایان توجه ترین مؤلفه های ناوبری، نوار بالای اپ یا این که به عبارتی تاب توشه میباشد.
ممکن میباشد نوار بالای نرم‌افزار را به‌تیتر «نوار پیمایش» در iOS یا این که به ‌طور بی آلایش «نوار نرم افزار» یا این که «هدر» نیز بشناسید.
برای ارائه ناوبری و دسترسی سریع یوزرها به بقیه اقدامات، بیایید یک نوار اپ ی فوق العاده پیاده سازی کنیم .

مرحله 1

در shr_product_grid_fragment.xml، تگ دربردارنده TextView را با مفاد ذیل جایگزین فرمائید:

android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\">

android:id=\"@+id/app_bar\"
style=\"@style/Widget.Shrine.Toolbar\"
android:layout_width=\"match_parent\"
android:layout_height=\"?attr/actionBarSize\"
app:title=\"@string/shr_app_name\" />

shr_product_grid_fragment.xml شما می بایست به صورت تحت باشد:


xmlns:app=\"http://schemas.android.com/apk/res-auto\"
xmlns:tools=\"http://schemas.android.com/tools\"
android:layout_width=\"match_parent\"
android:layout_height=\"match_parent\"
tools:context=\".ProductGridFragment\">

android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\">

android:id=\"@+id/app_bar\"
style=\"@style/Widget.Shrine.Toolbar\"
android:layout_width=\"match_parent\"
android:layout_height=\"?attr/actionBarSize\"
app:title=\"@string/shr_app_name\" />



افزودن منو به تاب توشه
در حالی که هنوز در قسمت shr_product_grid_fragment.xml میباشید، مفاد پایین را به مؤلفه Toolbar XML اضافه فرمایید:


xmlns:app=\"http://schemas.android.com/apk/res-auto\"
xmlns:tools=\"http://schemas.android.com/tools\"
android:layout_width=\"match_parent\"
android:layout_height=\"match_parent\"
tools:context=\".ProductGridFragment\">

android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\">

android:id=\"@+id/app_bar\"
style=\"@style/Widget.Shrine.Toolbar\"
android:layout_width=\"match_parent\"
android:layout_height=\"?attr/actionBarSize\"
app:navigationIcon=\"@drawable/shr_menu\"
app:title=\"@string/shr_app_name\" />



درحال حاضر دکمه های action را اضافه فرمایید و به نوار بالای اپلیکیشن استایل دهید .

هم اکنون نوار بالایی را استایل دهی کرده و دکمه های action را به طور طرح ریزی گردیده به منوی آن اضافه می‌کنیم.

آغاز بیایید روشی برای تهیه نوار ابزار تولید کنیم. این اسلوب بایستی با به کار گیری از شناسه خویش به نوار ابزار ارجاع دهد و همینطور با به کار گیری از ()getActivity به اکتیویتی ارجاع دهد.
درصورتی که اکتیویتی تهی وجود ندارد، نوار ابزار را تهیه و تنظیم فرمایید تا با استعمال از setSupportActionBar تحت عنوان یک ActionBar مصرف شود:

private void setUpToolbar(View view) {
Toolbar toolbar = view.findViewById(R.id.app_bar);
AppCompatActivity activity = (AppCompatActivity) getActivity();
if (activity != null) {
activity.setSupportActionBar(toolbar);
}
در حال حاضر یک فراخوانی به اسلوب setUpToolbar اضافه نمائید که به محتوای مشی () onCreateView اضافه کردیم با مفاد پایین:

@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment with the ProductGrid theme
View view = inflater.inflate(R.layout.shr_product_grid_fragment, container, false);

// Set up the toolbar
setUpToolbar(view);

return view;
}

@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment with the ProductGrid theme
View view = inflater.inflate(R.layout.shr_product_grid_fragment, container, false);

// Set up the toolbar
setUpToolbar(view);

return view;
}
در غایت یک اسلوب () onCreate به ProductGridFragment.java اضافه نمایید و در بدنه سیاق، پارامتر setHasOptionMenu را صحیح تهیه فرمایید.

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
کد بالا نوار اپ را از طرح XML ما تحت عنوان نوار action برای این شغل تهیه می نماید.
جواب به تماس onCreateOptionsMenu به action میگوید که از چه چیزی تحت عنوان منو به کار گیری نماید. در‌این‌صورت، گزینه های منو از R.menu.shr_toolbar_menu را در نوار اپ قرار می‌دهد.


xmlns:app=\"http://schemas.android.com/apk/res-auto\">
android:id=\"@+id/search\"
android:icon=\"@drawable/shr_search\"
android:title=\"@string/shr_search_title\"
app:showAsAction=\"always\" />
android:id=\"@+id/filter\"
android:icon=\"@drawable/shr_filter\"
android:title=\"@string/shr_filter_title\"
app:showAsAction=\"always\" />



xmlns:app=\"http://schemas.android.com/apk/res-auto\">
android:id=\"@+id/search\"
android:icon=\"@drawable/shr_search\"
android:title=\"@string/shr_search_title\"
app:showAsAction=\"always\" />
android:id=\"@+id/filter\"
android:icon=\"@drawable/shr_filter\"
android:title=\"@string/shr_filter_title\"
app:showAsAction=\"always\" />

بعداز این تغییرات، پوشه ProductGridFragment.java شما می بایست به طور تحت باشد:

package com.google.codelabs.mdc.java.shrine;

import android.Operating System.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toolbar;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;


public class ProductGridFragment extends Fragment {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}

@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment with the ProductGrid theme
View view = inflater.inflate(R.layout.shr_product_grid_fragment, container, false);

// Set up the toolbar
setUpToolbar(view);

return view;
}

private void setUpToolbar(View view) {
Toolbar toolbar = view.findViewById(R.id.app_bar);
AppCompatActivity activity = (AppCompatActivity) getActivity();
if (activity != null) {
activity.setSupportActionBar(toolbar);
}
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater menuInflater) {
menuInflater.inflate(R.menu.shr_toolbar_menu, menu);
super.onCreateOptionsMenu(menu, menuInflater);
}

}