Private Sub createProdItem(mapProd As Map) As B4XView
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0,0,0,100%x,145dip)
p.LoadLayout("restaurantMenuProduto")
Dim lblProductName As Label = p.GetView(0)
Dim imgProduct As ImageView = p.GetView(1)
Dim lblProductDescrition As Label = p.GetView(2)
Dim lblprice As Label = p.GetView(3)
Dim lblOriginalprice As Label = p.GetView(4)
Dim lblDash As Label = p.GetView(5)
lblProductName.Text = mapProd.Get("description")
lblProductDescrition.Text = mapProd.Get("details")
Dim unitPrice As Double = mapProd.Get("unitPrice")
lblprice.Text = "R$ " & NumberFormat2(unitPrice,1,2,2,False).Replace(".",",")
Dim unitMinPrice As Double = mapProd.Get("unitMinPrice")
Dim can As B4XCanvas
can.Initialize(Root)
Dim rec As B4XRect
rec = can.MeasureText(lblprice.Text,lblprice.Font)
lblprice.Height = rec.Height
If unitPrice > 0 Then
Dim unitOriginalPrice As Double = mapProd.Get("unitOriginalPrice")
If unitOriginalPrice = 0 Then
lblOriginalprice.Visible = False
lblDash.Visible = False
Else
lblprice.TextColor = Colors.Green
lblOriginalprice.Text = "R$ " & NumberFormat2(unitOriginalPrice,0,2,2,False).Replace(".",",")
rec = can.MeasureText(lblOriginalprice.Text.trim,lblOriginalprice.Font)
lblDash.Width = rec.Width
lblDash.Top = lblOriginalprice.Top + lblOriginalprice.Height / 2 - 4dip
End If
Else
lblprice.Text = "A partir de R$ " & NumberFormat2(unitMinPrice,1,2,2,False).Replace(".",",")
lblOriginalprice.Visible = False
lblDash.Visible = False
End If
imgProduct.Tag = mapProd
p.Height = lblprice.Top + lblprice.Height + 25dip
mapProd.Put("panelType","produto")
p.Tag = mapProd
Return p
End Sub