آموزش ساخت Menu
جمعه, ۲۳ مرداد ۱۳۹۴، ۱۲:۱۴ ب.ظ
با سلام دوستان امروز قصد دارم براتون آموزش ساخت Menu رو بزاریم
این آموزش برای راحتی کار شما گذاشته شده است که می تونید با یکم دقت یک منوی آسون و راحت برای برنامه خودتون بسازید تا برنامه زیبایی داشته باشید.
این آموزش برای راحتی کار شما گذاشته شده است که می تونید با یکم دقت یک منوی آسون و راحت برای برنامه خودتون بسازید تا برنامه زیبایی داشته باشید.
ضمنا این آموزش با کتابخانه SlidingMenuWrapper ساخته شده و سعی کردم کلیه نکته ها رو تا جایی که می شه آموزش بدم ...
حالا شروع می کنیم به آموزش و ساخت menu
در اولین مرحله مثل همیشه در صفحه اصلی به پنجره designer وارد میشویم و از پنجره ظاهر شده از زیر منوی AddView بر روی ImageView کلیک کنید تا در پیش نمایش نشون داده یشه و اون رو به برنامه معرفی می کنیم . نام این ImageView رو img1 بگذارید و اون رو به برنامه معرفی کنید و رویداد img1_Click رو هم تعریف کنید ...
img1 قراره کار دکمه باز و بسته شونده منوی ما رو انجام بده ... و اون رو در بالا سمت چپ مانند شکل زیر قرار بدین
دوستان میتونید داخل این layout هم یک بگراند بزارید تا برنامه زیباتر بشه (قبلا آموزش داده شده) مانند شکل زیر
خب حالا هم مثل همیشه layout رو با نام main ذخیره می کنیم
حالا به صفحه کد نویسی می رویم تا کد نویسی رو شروع کنیم
در صفحه کد نویسی ما به قسمت Sub Globals باید کد های زیر رو بنویسیم
این نکته رو بگم که برای ساخت منو احتیاج نیست در قسمت designerیکListView رو بسازیم و باید به صورت کد نویسی این کار رو انجام بدیم
در عکس پایین مشاهده می کنید
خب می بینید که در خط 22 img1 تعریف شده هستش
و در خط 23 ما یک SlidingMenu از کتابخانه SlidingMenuWrapper تعریف می کنیم که بدنه منوی ما رو تشکیل می ده
و در خط 24 یک ListView نعریف می کنیم که باید لیست منوی ما در اون قرار بگیره
و در خط 25 هم متغییری از نوع Typeface جهت نمایش نوع فونت در لیست ویو تعریف می کنیم .

حالا باید به قسمت Activity_Create بریم و کد های زیر رو بنویسیم
در عکس پایین مشاهده می کنید
در خط 30 ما Layout رو فراخوانی می کنیم
و در خط 31 ما متغییر Typeface رو فراخوانی می کنیم
در خط 32 ما SlidingMenu1 رو Initialize و نام menu رو برای اون انتخاب می کنیم
در خط 33 ما listview1 رو Initialize و نام list رو برای اون انتخاب می کنیم
حالا شروع می کنیم به آموزش و ساخت menu
در اولین مرحله مثل همیشه در صفحه اصلی به پنجره designer وارد میشویم و از پنجره ظاهر شده از زیر منوی AddView بر روی ImageView کلیک کنید تا در پیش نمایش نشون داده یشه و اون رو به برنامه معرفی می کنیم . نام این ImageView رو img1 بگذارید و اون رو به برنامه معرفی کنید و رویداد img1_Click رو هم تعریف کنید ...
img1 قراره کار دکمه باز و بسته شونده منوی ما رو انجام بده ... و اون رو در بالا سمت چپ مانند شکل زیر قرار بدین
حالا به صفحه کد نویسی می رویم تا کد نویسی رو شروع کنیم
در صفحه کد نویسی ما به قسمت Sub Globals باید کد های زیر رو بنویسیم
این نکته رو بگم که برای ساخت منو احتیاج نیست در قسمت designerیکListView رو بسازیم و باید به صورت کد نویسی این کار رو انجام بدیم
در عکس پایین مشاهده می کنید
خب می بینید که در خط 22 img1 تعریف شده هستش
و در خط 23 ما یک SlidingMenu از کتابخانه SlidingMenuWrapper تعریف می کنیم که بدنه منوی ما رو تشکیل می ده
و در خط 24 یک ListView نعریف می کنیم که باید لیست منوی ما در اون قرار بگیره
و در خط 25 هم متغییری از نوع Typeface جهت نمایش نوع فونت در لیست ویو تعریف می کنیم .
حالا باید به قسمت Activity_Create بریم و کد های زیر رو بنویسیم
در عکس پایین مشاهده می کنید
در خط 30 ما Layout رو فراخوانی می کنیم
و در خط 31 ما متغییر Typeface رو فراخوانی می کنیم
در خط 32 ما SlidingMenu1 رو Initialize و نام menu رو برای اون انتخاب می کنیم
در خط 33 ما listview1 رو Initialize و نام list رو برای اون انتخاب می کنیم
در عکس پایین مشاهده می کنید
در خط 36 برای SlidingMenu1 یک مقدار از نوع BehindOffset جهت نمایش فاصله منو به صفحه رو تنظیم می کنه منظور اینه که منوی ما چقدر باز بشه
در خط 37 برای SlidingMenu1 یک مقدار از نوع Mode جهت نمایش منو در سمت چپ صفحه نمایش گوشی قرار می دیم .
در خط 38 برای SlidingMenu1 میایم و listview1 خودمون رو به اون نسبت میدیم و میگیم کجا و اندازش چقدر باشه .
در عکس پایین مشاهده می کنید
در خط 41 تا 43 سه منو از نوع AddSingleLine2 می نویسیم . شما می تونید بیشترش کنید
در عکس پایین مشاهده می کنید
حالا می خوایم برای listview1 و منوهای و یا AddSingleLine2 ها بگراند قرار بدیم
در خط 44 ما یک متغییر از نوع BitmapDrawable تعریف می کنیم
در خط 45 ما BitmapDrawable رو Initialize و اون رو Load می کنیم
در خط 46 ما listview1 رو با SingleLineLayout به BitmapDrawable معرفی می کنیم
در خط 47 ما listview1 می گیم که پهنای AddSingleLine2 چقدر باشه.
در خط 36 برای SlidingMenu1 یک مقدار از نوع BehindOffset جهت نمایش فاصله منو به صفحه رو تنظیم می کنه منظور اینه که منوی ما چقدر باز بشه
در خط 37 برای SlidingMenu1 یک مقدار از نوع Mode جهت نمایش منو در سمت چپ صفحه نمایش گوشی قرار می دیم .
در خط 38 برای SlidingMenu1 میایم و listview1 خودمون رو به اون نسبت میدیم و میگیم کجا و اندازش چقدر باشه .
در عکس پایین مشاهده می کنید
در خط 41 تا 43 سه منو از نوع AddSingleLine2 می نویسیم . شما می تونید بیشترش کنید
حالا می خوایم برای listview1 و منوهای و یا AddSingleLine2 ها بگراند قرار بدیم
در خط 44 ما یک متغییر از نوع BitmapDrawable تعریف می کنیم
در خط 45 ما BitmapDrawable رو Initialize و اون رو Load می کنیم
در خط 46 ما listview1 رو با SingleLineLayout به BitmapDrawable معرفی می کنیم
در خط 47 ما listview1 می گیم که پهنای AddSingleLine2 چقدر باشه.
در عکس پایین مشاهده می کنید
در خط 51 ما یک متغییر از نوع Label جهت تغییراتی در Label که در listview1 وجود دارد تعریف می کنیم این مورد همان تغییر در نوع و مکان قرار گیری SingleLine در listview1 می باشد .
در خط 52 Label رو به SingleLineLayout در listview1 رو فعال کردیم
در خط 53 Label رو به چپ قسمت نمایش منو فراخوانی می کنیم
در خط 54 Label رو میگیم که از سمت چپ 120dip + به سمت راست بره تا لیبل دقیق در جای خود قرار بگیره .
در خط 55 Label رو مقدار پهنای لیبل رو میگیم
در خط 51 ما یک متغییر از نوع Label جهت تغییراتی در Label که در listview1 وجود دارد تعریف می کنیم این مورد همان تغییر در نوع و مکان قرار گیری SingleLine در listview1 می باشد .
در خط 52 Label رو به SingleLineLayout در listview1 رو فعال کردیم
در خط 53 Label رو به چپ قسمت نمایش منو فراخوانی می کنیم
در خط 54 Label رو میگیم که از سمت چپ 120dip + به سمت راست بره تا لیبل دقیق در جای خود قرار بگیره .
در خط 55 Label رو مقدار پهنای لیبل رو میگیم
در خط 56 Label رو به فونت که قبلا تعریف کردیم معرفی می کنیم
در خط 57 Label رو سایز میدیم
در خط 58 Label رو از بالای خط منو 20dip تا از بالا به پایین میاره
در خط 59 Label رو رنگ میدیم
خب حالا کار در این قسمت تمام شد و End Sub
در عکس پایین مشاهده می کنید
حالا باید بریم بر روی img1_Click که قبلا اون رو تعریف کرده بودیم بگیم که برای ما منو رو باز و بسته کنه ..
دوستان اینجا باید بگیم اگه SlidingMenu1 مخفی(Visible) و غیر فعال (False)بود اون رو نشون بده(ShowMenu) و اگه باز هم SlidingMenu1 ما مخفی (Visible) و فعال (True) بود اون رو نشون نده (HideMenus).
در عکس پایین مشاهده می کنید
خب حالا باید برای listview1 که اسم اون رو List قرار دادیم بگیم که بر روی هر کدام که از آنها که کلید شد چه کاری رو انجام بده که همانند شکل زیر انجام میدیم دقت داشته باشید

در خط 57 Label رو سایز میدیم
در خط 58 Label رو از بالای خط منو 20dip تا از بالا به پایین میاره
در خط 59 Label رو رنگ میدیم
خب حالا کار در این قسمت تمام شد و End Sub
در عکس پایین مشاهده می کنید
حالا باید بریم بر روی img1_Click که قبلا اون رو تعریف کرده بودیم بگیم که برای ما منو رو باز و بسته کنه ..
دوستان اینجا باید بگیم اگه SlidingMenu1 مخفی(Visible) و غیر فعال (False)بود اون رو نشون بده(ShowMenu) و اگه باز هم SlidingMenu1 ما مخفی (Visible) و فعال (True) بود اون رو نشون نده (HideMenus).
در عکس پایین مشاهده می کنید
خب حالا باید برای listview1 که اسم اون رو List قرار دادیم بگیم که بر روی هر کدام که از آنها که کلید شد چه کاری رو انجام بده که همانند شکل زیر انجام میدیم دقت داشته باشید
که Position اول باید برابر با 0 (صفر) و به ترتیب 1 و 2 و غیره بزاریم
و هر رویدادی که خواستید در آنها قرار بدید .
در عکس پایین مشاهده می کنید
در این قسمت می خوایم منومون رو با کلید منوی گوشی موبایل باز و بسته کنیم که تقریبا با کد های بالا مشابه و لی باید برای اون Activity_KeyUp تعریف کنیم که برای این کار کلمه Sub رو بزنید یک Space و سپس دکمه tab رو بزنید و از گزینه های باز شده بر روی Activity سپس KeyUpکلید کنید و نام event اون رو Activity و سپس کد های زیر رو بنویسید
در این قسمت می خوایم منومون رو با کلید منوی گوشی موبایل باز و بسته کنیم که تقریبا با کد های بالا مشابه و لی باید برای اون Activity_KeyUp تعریف کنیم که برای این کار کلمه Sub رو بزنید یک Space و سپس دکمه tab رو بزنید و از گزینه های باز شده بر روی Activity سپس KeyUpکلید کنید و نام event اون رو Activity و سپس کد های زیر رو بنویسید
خب حالا برنامه رو ذخیره و اجرا کنید
با تشکر
دوستان نظر یاد تون نره
منبع : b4airanamozesh