MR.B4A 252 ارسال شده در 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 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.