MR.B4A 270 ارسال شده در 8 تیر اشتراک گذاری ارسال شده در 8 تیر بااستفاده از این سورس، یک اسلاید منوی بسیار زیبا با قابلیت کلیک آیتم برای پروژه تان بسازید سورس: ابتدا توی اکتیویتی که میخواهید منو را پیاده سازی کنید، این کدها را بنویسید: 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 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.