Sub Chooser_Result (Success As Boolean, Dir As String, FileName As String)
If Success Then
'Without copy
images.Put(DateTime.Now,File.Combine(Dir,FileName))
'With copy
'images.Put(DateTime.Now,File.Combine(File.Combine(File.DirInternal,"images"),FileName))
'File.Copy(Dir,FileName,File.Combine(File.DirInternal,"images"),FileName)
Else
Log("No image selected")
End If
End Sub
Sub FillCLV
Dim keys As List = images.ListKeys
Dim xui As XUI
For Each key In keys
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, clv.AsView.Width, 100dip)
p.Color = Colors.Transparent
clv.Add(p,images.Get(key))
Next
keys.Clear
End Sub
Sub CLV_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
Dim ExtraSize As Int = 20
For i = 0 To clv.Size - 1 Step 1
Dim p As B4XView = clv.GetPanel(i)
If i > FirstIndex - ExtraSize And i < LastIndex + ExtraSize Then
'visible+
If p.NumberOfViews = 0 Then
Dim iv As ImageView : iv.Initialize("")
p.AddView(iv,(p.Width - p.Height) / 2,0,p.Height,p.Height)
picasso.LoadFile(clv.GetValue(i)).IntoImageView(iv)
End If
Else
'not visible
If p.NumberOfViews > 0 Then
picasso.CancelRequest(p.GetView(0))
p.RemoveAllViews '<--- remove the layout
End If
End If
Next
End Sub