Sub Globals
Private clv1 As CustomListView
Private Label1 As Label
Private Button1 As Button
Private CheckBox1 As CheckBox
Private fcell As FoldingCell
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("1")
For i = 0 To 10
Private p1 As Panel
p1.Initialize("p1")
p1.Tag = i
p1.Color = Colors.Black
clv1.Add(p1,100dip,i)
p1.LoadLayout("LayoutFolding")
Dim pfront As Panel
pfront.Initialize("Panel")
pfront.LoadLayout("front")
Dim pback As Panel
pback.Initialize("Panel")
pback.Visible = False
pback.LoadLayout("back")
fcell.addView(pback,100%x,350dip)
fcell.addView(pfront,100%x,100dip)
fcell.init(1500,Colors.Transparent,5)
fcell.fold(True)
'p1.Color = Colors.Transparent
Next
clv1.AddTextItem("Aaaa", "a")
clv1.AddTextItem("Aaaa" & CRLF & "Bbbb", "b")
clv1.AddTextItem("Aaaa" & CRLF & "Bbbb" & CRLF & "Cccc", "c")
clv1.AddTextItem("Aaaa" & CRLF & "Bbbb" & CRLF & "Cccc" & CRLF & "Dddd" , "d")
clv1.AddTextItem("Aaaa" & CRLF & "Bbbb" & CRLF & "Cccc" & CRLF & "Dddd" & CRLF & "Eeee", "e")
End Sub
Sub FoldingCell_click()
Log($"FoldingCell_click()"$)
Dim cell As FoldingCell = Sender
If cell.isUnfolded Then
' Fold
Dim parent As Panel
parent = cell.Parent
Log($"Parent: ${parent.Left}:${parent.Top} ${parent.Width} x ${parent.Height} (Tag: ${parent.Tag})"$)
'parent.SetLayout(0,0,100%x,100dip)
Starter.csu.CallSubPlus2(Me, "Replace_Parent", 100, Array(parent,100dip,cell,True))
Else
' Unfold
Dim parent As Panel
parent = cell.Parent
Log($"Parent: ${parent.Left}:${parent.Top} ${parent.Width} x ${parent.Height} (Tag: ${parent.Tag})"$)
'parent.SetLayoutanimated(1600,0,0,100%x,300dip)
Starter.csu.CallSubPlus2(Me, "Replace_Parent", 100, Array(parent,300dip,cell,False))
End If
End Sub
Sub Replace_Parent(args() As Object)
Log($"Replace_Parent: $Time{DateTime.Now}"$)
Dim p As Panel = args(0)
p.SetLayout(0,0,100%x,args(1))
p.RemoveView
clv1.ReplaceAt(p.Tag,p,args(1),p.Tag)
Starter.csu.CallSubPlus2(Me, "Parent_Layout", 1000, args)
Dim cell As FoldingCell = args(2)
cell.toggle(args(3))
End Sub
Sub Parent_Layout(args() As Object)
Log($"Parent_Layout()"$)
Dim p As Panel = args(0)
p.SetLayoutAnimated(100,0,0,100%x,args(1))
End Sub