رفتن به مطلب

ارسال‌های توصیه شده

بااستفاده از این سورس، یک اسلاید منوی بسیار زیبا با قابلیت کلیک آیتم برای پروژه تان بسازید

سورس:

ابتدا توی اکتیویتی که میخواهید منو را پیاده سازی کنید، این کدها را بنویسید:

Sub Process_Globals
	
End Sub

Sub Globals
	
#region appBar
	Dim lblMenu,lblTitle As Label
	Dim pnl_header As Panel
	Private img As ImageView
#end region	
	
#region SlideMenu
	Dim PnlMenu,PnlBackMenu As Panel
	Private Scroll_SlideMenu As ScrollView
	Private img_menu As ImageView
#end region
	
End Sub

Sub Activity_Create(FirstTime As Boolean)
	
	If File.Exists(File.DirInternal,"db.db")=False Then
		File.Copy(File.DirAssets,"db.db",File.DirInternal,"db.db")
	End If
	
	InitAppBar
	Initialize_SlideMenu
	
End Sub

Sub InitAppBar
	img.Initialize("")
	Activity.AddView(img,10%x,20%y,80%x,50%y)
	img.SetBackgroundImage(LoadBitmap(File.DirAssets,"pic1.png"))
	img.Gravity=Gravity.FILL
	
	pnl_header.Initialize("")
	pnl_header.Color = Colors.RGB(85,186,209)
'	pnl_header.Elevation=6dip
	Activity.AddView(pnl_header,0,0,Activity.Width,56dip)
	
	lblMenu.Initialize("lblMenu")
	lblMenu.TextColor	= Colors.White
	lblMenu.Gravity 	= Bit.Or(Gravity.CENTER_HORIZONTAL,Gravity.CENTER_VERTICAL)
	lblMenu.Typeface    = Typeface.MATERIALICONS
	lblMenu.Text 		= Chr(0xE5D2)
	lblMenu.TextSize	= 27
	pnl_header.AddView(lblMenu,pnl_header.Width -50dip,3dip,50dip,50dip)
	
	lblTitle.Initialize("lblTitle")
	lblTitle.TextColor	= Colors.White
	lblTitle.Gravity 	= Bit.Or(Gravity.CENTER_HORIZONTAL,Gravity.CENTER_VERTICAL)
	lblTitle.Text 		= "MR.B4A"
	lblTitle.TextSize	= 18
	pnl_header.AddView(lblTitle,0dip,3dip,pnl_header.Width,50dip)
End Sub

Sub Initialize_SlideMenu
	PnlBackMenu.Initialize("PnlBackMenu")
	
	PnlBackMenu.Color 	= Colors.ARGB(150,106,106,106)
	PnlBackMenu.Visible = False
	PnlBackMenu.BringToFront
	Activity.AddView(PnlBackMenu,0,0,Activity.Width,Activity.Height)
	
	PnlMenu.Initialize("PnlMenu")
	PnlMenu.Visible = False
	PnlMenu.Color   = Colors.White
	PnlBackMenu.AddView(PnlMenu,28%x,0,PnlBackMenu.Width - 28%x,PnlBackMenu.Height)
	img_menu.Initialize("")
	img_menu.SetBackgroundImage(LoadBitmap(File.DirAssets,"pic1.png"))
	img_menu.Gravity=Gravity.FILL
	img_menu.Visible=False
	
	PnlMenu.AddView(img_menu,10%x,30%y,50%x,25%y)
	
	Scroll_SlideMenu.Initialize(2000)
	PnlMenu.AddView(Scroll_SlideMenu,0,0,PnlMenu.Width,PnlMenu.Height)
	
	'برای حذف میله اسکرول ویو.نیاز به کتابخونه 
	'Reflection
	
'	Dim r As Reflector
'	r.Target = Scroll_SlideMenu
'	r.RunMethod2("setVerticalScrollBarEnabled", False, "java.lang.boolean")
	
	ExtentionCode.SlideMenu(Scroll_SlideMenu)

End Sub

Sub LblItem_Click
	Dim lbl As Label
	lbl = Sender
	Dim tag As Int = lbl.Tag
	
	Select tag
		Case 0
			Activity.Finish
			StartActivity("about")
		Case 1
			img_menu.SetVisibleAnimated(1000,True)
		Case 2
			Msgbox("MR.B4A","")
	End Select
'	PnlBackMenu_Click
End Sub
Sub LblMenu_Click
	If PnlBackMenu.Visible = False Then
		Dim anim As AnimationPlus
		PnlBackMenu.SetVisibleAnimated(1000,True)
		anim.InitializeTranslate("anim1" ,PnlMenu.Width-10dip,0,0,0)
		PnlMenu.Top = 0dip
		PnlMenu.Height = PnlBackMenu.Height
		anim.Duration=200
		anim.Start(PnlMenu)
'		PnlMenu.SetVisibleAnimated(1,True)
		PnlMenu.Visible = True
'		PnlBackMenu.BringToFront
	Else
		Dim anim As AnimationPlus
		anim.InitializeTranslate("anim1" ,0,0,PnlMenu.Width-10dip,0)
		PnlMenu.Top = 0dip
		PnlMenu.Height = PnlBackMenu.Height
		anim.Duration=200
		anim.Start(PnlMenu)
		PnlMenu.SetVisibleAnimated(200,False)
		Sleep(200)
		PnlBackMenu.SetVisibleAnimated(1,False)
	End If
	
End Sub
Sub PnlBackMenu_Click
	Dim anim As AnimationPlus
	anim.InitializeTranslate("anim1" ,0,0,PnlMenu.Width-10dip,0)
	PnlMenu.Top 	= 0dip
	PnlMenu.Height  = PnlBackMenu.Height
	anim.Duration   = 200
	anim.Start(PnlMenu)
	PnlMenu.Visible = False
	Sleep(80)
	PnlBackMenu.SetVisibleAnimated(1,False)
End Sub
Sub PnlMenu_Click
	Log("")
End Sub


Sub Activity_KeyPress (KeyCode As Int) As Boolean
	If KeyCode = KeyCodes.KEYCODE_BACK And PnlBackMenu.Visible = True Then
		
		Dim anim As AnimationPlus
		anim.InitializeTranslate("anim1",0,0,PnlMenu.Width-10dip,0)
		PnlMenu.Top 	= 0dip
		PnlMenu.Height  = PnlBackMenu.Height
		anim.Duration   = 200
		anim.Start(PnlMenu)
		PnlMenu.Visible = False
		PnlBackMenu.SetVisibleAnimated(50,False)
		
		Return True
	Else if KeyCode = KeyCodes.KEYCODE_BACK Then
		ExitApplication
		Return True
	Else
		Return False
	End If
End Sub
Sub PnlMenu_Touch (Action As Int, X As Float, Y As Float)
	Dim Start_TouchX As Int
	Select Action
		Case Activity.ACTION_DOWN
			Start_TouchX = X
		Case Activity.ACTION_UP
			If Abs(X-Start_TouchX) > 50dip Then
				If X > Start_TouchX Then ' swipe right
					Log("right")
					Dim anim As AnimationPlus
					anim.InitializeTranslate("anim1" ,0,0,PnlMenu.Width-10dip,0)
					PnlMenu.Top	   = 0dip
					PnlMenu.Height = PnlBackMenu.Height
					anim.Duration  = 200
					anim.Start(PnlMenu)
					PnlMenu.SetVisibleAnimated(200,False)
					Sleep(80)
					PnlBackMenu.SetVisibleAnimated(1,False)
				End If
				If X < Start_TouchX Then ' swipe left
					Log("left")
					
				End If
	
			End If
	End Select

End Sub

یک ماژول بسازید و این کدها را داخلش کپی کنید:

Sub Process_Globals
'	Dim FontIransanse As Typeface			= Typeface.LoadFromAssets("iransans.ttf")
	Dim ListItem As List 					= Array As String("درباره ما","MR.B4A","برنامه نویسی اندروید با...")
	Dim ListIcon As List 					= Array As String(Chr(0xE853),Chr(0xE859),Chr(0xE22B),Chr(0xE8E8))
	Dim top As Int
End Sub

Sub SlideMenu(sc As ScrollView)
	top = 0
	For i = 0 To ListItem.Size - 1
		Dim PnlItem As Panel
		PnlItem.Initialize("PnlItem")
		Dim cd As ColorDrawable
		cd.Initialize(Colors.Transparent,5dip)
		PnlItem.Background = cd
		sc.Panel.AddView(PnlItem,5dip,top,sc.Width-10dip,40dip)
		
		Dim LblIconConst As Label
		LblIconConst.Initialize("")
		LblIconConst.TextColor	= 0xFF3E3E3E
		LblIconConst.Gravity 	= Bit.Or(Gravity.CENTER_HORIZONTAL,Gravity.CENTER_VERTICAL)
		LblIconConst.Typeface 	= Typeface.MATERIALICONS
		LblIconConst.Text 		= Chr(0xE5CB)
		LblIconConst.TextSize	= 25
		PnlItem.AddView(LblIconConst,2dip,2dip,38dip,PnlItem.Height - 4dip)
		
		Dim LblItem As Label
		LblItem.Initialize("LblItem")
		LblItem.TextColor	= 0xFF3E3E3E
		LblItem.Gravity 	= Bit.Or(Gravity.CENTER_VERTICAL,Gravity.RIGHT)
'		LblItem.Typeface 	= FontIransanse
		LblItem.Text 		= ListItem.Get(i)
		LblItem.TextSize	= 14
		LblItem.Tag = i
		PnlItem.AddView(LblItem,40dip,2dip,PnlItem.Width - 80dip,PnlItem.Height - 4dip)
		
		Dim LblIconVar As Label
		LblIconVar.Initialize("")
		LblIconVar.TextColor	= 0xFF3E3E3E
		LblIconVar.Gravity 	= Bit.Or(Gravity.CENTER_HORIZONTAL,Gravity.CENTER_VERTICAL)
		LblIconVar.Typeface 	= Typeface.MATERIALICONS
		LblIconVar.Text 		= ListIcon.Get(i)
		LblIconVar.TextSize	= 25
		PnlItem.AddView(LblIconVar,PnlItem.Width - 38dip,2dip,38dip,PnlItem.Height - 4dip)
		
		If i=1 Then
			LblItem.TextColor=0xFF3EA3B5
			LblIconVar.TextColor=0xFF3EA3B5
			LblItem.TextSize=16
			
		Else If i=3 Then
			LblItem.TextColor=0xFF00CAFF
			LblItem.TextSize=20
		Else If i=0 Then
			LblItem.TextColor= 0xFFC13B63
			LblItem.Typeface=Typeface.DEFAULT_BOLD
			LblItem.TextSize=22
		End If
		
		top = top + 45dip
	Next
	sc.Panel.Height = top
End Sub

حالا شما این منوی زیبا را دارید:

https://aparat.com/v/hbz60ez

طراح و تهیه کننده:
مرتضی صباغی
MR.B4A

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • MR.B4A عنوان را به سورس اسلاید منوی زیبا در بیسیک فور اندروید تغییر داد

به گفتگو بپیوندید

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

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...