Private Sub CreateActionButtons (actions As List) As Int
ActionsPanel.RemoveAllViews
Dim LastX As Int = 0
Dim width As Int = ActionsPanel.Width / actions.Size 'kim
For Each action As Object In actions
If action Is String Then
Dim l As Label
l.Initialize("lbl")
Dim xlbl As B4XView = l
xlbl.Text = action
xlbl.Color = ActionColors.GetDefault(action, xui.Color_White)
xlbl.SetTextAlignment("CENTER", "CENTER")
xlbl.Font = xui.CreateDefaultBoldFont(20)
xlbl.TextColor = xui.Color_Black
'Dim width As Int = ActionsPanel.Width / actions.Size 'kim
'Dim width As Int = Max(40dip, cvs.MeasureText(action, xlbl.Font).Width + 20dip) 'original
ActionsPanel.AddView(xlbl, ActionsPanel.Width - width - LastX, 0, width, ActionsPanel.Height)
Else If action Is SwipeImage Then
Dim SI As SwipeImage = action
Dim Img As Panel
Img.Initialize("Img")
Img.Tag = SI.RetVal
Dim ximg As B4XView = Img, CV As Canvas, R As Rect
R.Initialize(0, 0, width, ActionsPanel.Height)
ActionsPanel.AddView(ximg, ActionsPanel.Width - width - LastX, 0, width, ActionsPanel.Height)
CV.Initialize(ximg)
CV.DrawBitmap(SI.Bmp, Null, R)
End If
LastX = LastX + width
Next
Return LastX
End Sub
Private Sub Img_Click
Dim Img As B4XView = Sender
Dim index As Int = LastSwipedItem
CloseLastSwiped
CallSub3(mCallback, mEventName & "_ActionClicked", index, Img.Tag)
End Sub