Saturday, April 4, 2015

Slide Panel

Slide Panel example - http://pc.cd/NTR7
Library - http://pc.cd/NgR7
--------------------------
ဒီေန႕ နဲနဲေလး ပိုတက္လိုက္ပီးေတာ့ Slide Panel ဆိုတာကို ေရးပါမယ္။
မေရးခင္မွာ Panel ကိုေျပာဦးမယ္ Panel က Designer မွာလည္း ရွိပါတဟ္။ AddView/ Panel ကေနထည့္လည္းရပါတယ္
Panel က Activity(စာမ်က္ႏွာ)ႀကီးတခုလိုပါပဲ သူ႕ကေန
Panel1.AddView ေတ Panel1.LoadLayout ေတ အစရွိသျဖင့္ သံုးလို႕ရပါမယ္။
စာမ်က္ႏွာ တခုထဲမွာပဲ Panel ေတခြဲပီးသံုးျခင္းအားျဖင့္
layout အမ်ားႀကီးကို Loadလုပ္လို႕ရပါတယ္။
နမူနာ Panel1.LoadLayout("1") / Panel2.LoadLayout("2") ဒလိုေပါ့။
အခုက အဆင့္ေက်ာ္ပီး Slide Panel ကိုသြားက်မွာ
Panel တခုမွာ Layout တခုစီနဲ႕ Panel တခုနဲ႕တခုကို ကူးတဲ႕အခါမွ Slide လုပ္ပီး ကူးမွာပါ။ ဒီ ပံုစံကို နမူနာ Zapya တို႕ဘာတို႕မွာ app စသံုးကာစဆိုရင္ Tip ေတကို ဒလို Slide panel ေတနဲ႕ျပတယ္မလား ညာဘက္ကို တခုခ်င္းဆြဲသြားရတာမ်ိဳးပါ။
အရင္က SlidePanel က Lib ရွာမေတြ႕လို႕ ClassModule နဲ႕သံုးက်ိဘူးတာပါ။အခုက Sliding Panel lib ရွိေနေတာ့ Lib နဲ႕ပဲ သံုးပါမယ္။
-----------------------------
စသံုးဖို႕အတြက္ - Lib မွာ SlidingPanel ကို အမွတ္တပ္ေပးထားပါ။ Project ကို save ပီး Designer ဖြင့္ပါမယ္။ ပီးေတာ့ နမူနာဆိုေတာ့ Button တခုဆီပါတဲ႕ layout 3ခု လုပ္လိုက္ပါ။ 0,1,2 ဒလိုပါ။ 1က မစပါနဲ႕ 0 က စပါ။ 0 နဲ႕တခု save ပီးေတာ့ 1 / 2 ေပါ့။
layout က 3ခု လုပ္ထားပီး ဒီ3ခုလံုးကို စာမ်က္ႏွာတခုတည္းမွာပဲ သံုးမွာဆိုေတာ့ Button ေတကို Click နဲ႕ Generate လုပ္ထားလို႕ရပါတယ္။( layout 3ခုက Button ေတကို တခုမွ အမည္ေတမတူေစပါနဲ႕)
----------------
IDE မွာေတာ့ အခုအတိုင္းစေရးမယ္
--
Sub Globals ေအာက္မွာ
Dim SD As SlidingPanels ေပါ့။
SD ကို Declare လုပ္ပီးပီ။
Activity_Create ထဲကိုသြားမယ္။
Activity.RemoveAllViews လို႕ေရးပါမယ္။
Panels ေတကို တန္းပီး Slideလုပ္မွာမို႕ Viewေတကို ရွင္းထားတာပါ။ပီးရင္
SD.Initialize("SD",300,Activity,Me,True)
ဒလို ေရးပါမယ္။ SD ကို Initializeလုပ္တာပါ။ ဒါမွ 300
Panel ေတကို Slideလုပ္တဲ႕အခါမွာ ေရြ႕တဲ႕ speed ပါ ကြကိုယ္ တိုးး/ေလွ်ာ႕ ႏိုင္ပါတယ္။ပီးရင္ SD ထဲကို Panel သံုးခုထည့္ပါမယ္။ (layoutက 3ခုပဲ လုပ္ထားလို႕ Panel သံုးခုပဲထည့္တာပါ)
SD.ModeFullScreen(3,False)
ဒလိုပါ။ 3 ေနရာ 4 ဆို Panel 4ခုျဖစ္သြားမယ္။
ဒမာ Panel 3ခု သည္ 0 ကေန စတာပါ။ 0,1,2 ပါ ဒါေၾကာင့္ေစာေစာက layout ေတရဲ႕အမည္ကို 0 က စလုပ္ပါလို႕ေျပာတာပါ ဒါမွ ၾကည့္ရတာ ရွင္းမွာ။
အခု Panel ေတထည့္ပီးေတာ့ layout ေတကို Load လုပ္ပါမယ္။ panel တခုကို layout တခုစီနဲ႕Load လုပ္ပါမယ္
SD.panels(0).LoadLayout("0")
SD.panels(1).LoadLayout("1")
SD.panels(2).LoadLayout("2")
ဒလိုပါပဲ ဒါဆို အကုန္ စံုပါပီ ေအာက္မွာ Slidepanel ကို စဖို႕အတြက္
SD.Start(0)
ဒလိုေရးလိုက္ပါမယ္။ 0 ဆိုတာ 0 ကေနစပီး Slideလုပ္ခိုင္းတာပါ။ ဒီေတာ့ ေပါင္းရင္ Activity_Createထဲမွာ
Sub Activity_Create(--------)
Activity.RemoveAllViews
SD.Initialize("SD",300,Activity,Me,True)
SD.ModeFullScreen(3,False)
SD.panels(0).LoadLayout("0")
SD.panels(1).LoadLayout("1")
SD.panels(2).LoadLayout("2")
SD.Start(0)
End Sub
ဒလိုရွိေနပါၿပီ။ ေအာက္မွာ Event တခုထက္ေရးရပါမယ္။
စာမ်က္ႏွာေပၚကို လက္နဲ႕ထိတဲ႕အခါ Panel ေရြ႕လ်ားဖို႕အတြက္
အခုလို Sub တခု ကြကိုယ္ေရးထည့္လိုက္ပါ။
Sub Activity_Touch(Action As Int,X As Float,Y As Float)
SD.Panels_Touch(Action,X,Y)
End Sub
ဒလိုပါပဲ
Save ပီး run ႀကည့္လိုက္ပါ။
လွပတဲ႕ Slide စတိုင္နဲ႕ တမ်က္ႏွာခ်င္းကူးလို႕ရတဲ႕
Sliding Panels ေတကို ရပါၿပီ။
အဆင္မေျပရင္ example ကို run ၾကည့္ပါ မရ ရင္ Groupမွာ လာေမးၾကည့္ပါ
https://m.facebook.com/groups/316136215260862

No comments:

Post a Comment