آموزش برنامه نویسی اندروید با B4A – قسمت نهم(افزودن آیتم به منو)
سلام
در قسمت قبلی آموزش یاد گرفتیم که چطوری میتونیم یک اسلاید منو(منوی کناری یا مخفی) به برنامه اضافه کنیم ، حالا در این قسمت یاد میگریم که چه طوری میتونیم به این منو آیتم اضافه کنیم و ازش استفاده کنیم ، آموزش را بر اساس سورس قبلی پیش می بریم.
مشکل عدم شناسایی فایل SlidingMenu.jar برطرف شد
آموزش:
برنامه ای که در جلسه ی قبل نوشتیم را باز کنید .
- برای اضافه کردن ایتم به منو میتونیم از ListView استفاه کنیم ، پس یک متغیر از لیست ویو ایجاد و به برنامه تعریف می کنیم (initialize) می کنیم .
- در Activity_Create کد زیر را اضافه می کنیم :
۱ ۲ |
Dim lv As ListView lv.Initialize("lv") |
در خط ۱ لیست ویو تعریف کردیم و در خط ۲ ، initialize کردیم.
- در ادامه کدهای زیر را اضافه کنید :
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ |
lv.TwoLinesAndBitmap.Label.Gravity = Gravity.CENTER lv.TwoLinesAndBitmap.Label.TextColor = Colors.White lv.TwoLinesAndBitmap.Label.Left = ۰ lv.TwoLinesAndBitmap.Label.Top = ۲%x lv.AddTwoLinesAndBitmap2("item1" , "" , LoadBitmap(File.DirAssets , "ic_action_copy.png") , "sgdesigner") lv.AddTwoLinesAndBitmap2("item2" , "" , LoadBitmap(File.DirAssets , "ic_action_overflow.png") , "item2") sm.Menu.AddView(lv , ۰ , ۰ , ۷۰%x , ۱۰۰%y) |
توضیحات :
- خط ۱ : گفتیم متن های لیست ویو وسط چین باشه(به جای center میتونید از right , left نیز استفاده کنید) .
- خط ۲ : در این خط گفتیم که رنگ متنمون سفید باشه (به جای white میتونید رنگ دلخواهتون رو بنویسید) .
- خط ۳ : در این خط گفتیم که متن هامون از سمت چپ هیچ فاصله ای نگیره(میتونید به عدد صفر مقدار بدید) .
- خط ۴ : در این خط هم گفتیم که از سمت بالا ۲ درصد فاصله بگیره .
در دو خط ۶ و ۷ آیتم هامون رو به همراه عکس اضافه کنیم .
- خط ۶ و ۷ : دو تا آیتم اضافه کردیم و برای هر آیتم یک آکن تعریف کردیم ، آیکن هایی که میخوایم به لیست ویو اضافه کنیم باید در پوشه Files موجود در محل ذخیره پروژه کپی کنیم و اسمش رو به جای ic_action_copy.png و یا ic_action_overflow.png قرار بدید ، در آخر هم نیز مشاهده می کنید که برای هر ایتم یک اسم تعریف کردیم (منظورم item1 و item 2) .
- خط ۹ : در خط ۹ لیست ویو را به منو نسب دادیم (sm که یادتون باشه مال اسلاید منو بود که تعریف کردیم Dim sm As SlingMenu و lv رو هم که در همین جلسه تعریف کنیم Dim lv As ListView) ، در این خط نیز باید لیست ویو را تراز بندی کنیم (عدد ها را تغییر بدید تا خودتون بیشتر متوجه بشید ، چون تعریفی براش ندارم!)
و منویی که طراحی کردیم میشه این :
دو آیکنی که در منو گذاشتم :
و در آخر تمام کدها :
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ ۴۹ ۵۰ ۵۱ ۵۲ ۵۳ ۵۴ ۵۵ ۵۶ ۵۷ ۵۸ ۵۹ ۶۰ ۶۱ ۶۲ ۶۳ ۶۴ ۶۵ ۶۶ ۶۷ |
#Region Project Attributes #ApplicationLabel: Sliding_menu #VersionCode: 1 #VersionName: 1.0.0 'SupportedOrientations possible values: unspecified, landscape or portrait. 'Developed By : beporsam.ir | beporsam@gmail.com | Telegram : @beporsam #SupportedOrientations: unspecified #CanInstallToExternalStorage: False #End Region #Region Activity Attributes #FullScreen: False #IncludeTitle: True #End Region Sub Process_Globals End Sub Sub Globals Dim sm As SlidingMenu End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Lmain") sm.Initialize("sm") sm.BehindOffset = ۳۰%x sm.Mode = sm.RIGHT sm.Menu.Color = Colors.RGB(۲۳,۱۴۹,۱۹۷) ' برای اضافه کردن آیتم Dim lv As ListView lv.Initialize("lv") lv.TwoLinesAndBitmap.Label.Gravity = Gravity.CENTER lv.TwoLinesAndBitmap.Label.TextColor = Colors.White lv.TwoLinesAndBitmap.Label.Left = 0 lv.TwoLinesAndBitmap.Label.Top = 2%x lv.AddTwoLinesAndBitmap2("بپرسم" , "" , LoadBitmap(File.DirAssets , "ic_action_copy.png") , "item1") lv.AddTwoLinesAndBitmap2("اس جی دیزاینر" , "" , LoadBitmap(File.DirAssets , "ic_action_overflow.png") , "item2") sm.Menu.AddView(lv , 0 , 0 , 70%x , 100%y) End Sub Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event If KeyCode = KeyCodes.KEYCODE_MENU Then If sm.Visible = False Then sm.ShowMenu Else sm.HideMenus End If End If End Sub |
با ما باشید تا آموزش های بعدی …
هرگونه سوالی یا مشکلی در رابطه با مطلب فوق داشتید؛ در سایت بپرسید، پاسخگوی سوالات شما هستیم، برای پرسیدن سوال کلیک کنید.
موفق باشید.
دیدگاه ( 4 )
سلام
با ظاهر شدن منو رنگ بکگراند تیره نمیشه. چه جوری میشه تیره تر کردش
ممنون
سلام
یه سوال دیگه داشتم میخواستم بدونم که چطوری میشه بیشتر از دو آیتم به منو کشویی اضافه کنیم
مثلا۳تا
یا..
در همون سوالی که پرسیدید، کامنت بزارید
موفق باشید
سلام من تمام کار رو انجام دادم خوب کار هم میکنه
ولی میخواستم بدونم چطور میشه رویداد کلیک یا همچین چیزی به لیبلمون بدیم
راستی میخواستم یک امیج ویو هم بیارم ای نو هم میشه راهنمایی کنید
سلام
در لینک زیر پاسختون رو دادم
موفق باشید.
سلام.درقسمت ایجادمنو b4aوقتی کامپایل میکنم ارور میده ک فایل کتابخانه اسلایدینگ منو وجودنداره بااینکه کتابخونشو قرار دادم
سلام
مطمئن هستید کتابخونه رو به پروژه اضافه کردید؟
یک اسکرین شات از خطایی که میده بفرستید.