Sub recipe_item2 (clv As CustomListView,width As Int,height As Int, r As recipes, user_name As String, user_image As String, rating As Double, comments As Int, category As String) As Panel
Dim pnl As B4XView=xui.CreatePanel("")
pnl.SetLayoutAnimated(0,0,0,width,height)
pnl.LoadLayout("main_recipe_item")
img_recipe_item_recipe_image.SetBitmap(CreateRoundRectBitmap(LoadBitmapResize(File.DirAssets,"photo-1546069901-ba9599a7e63c.jpg",img_recipe_item_recipe_image.Width,img_recipe_item_recipe_image.Height,False),10dip))
lbl_recipe_item_fav.Tag=r.recipe_id
lbl_recipe_item_category.Text=$"${Chr(0xF02B)} ${category}"$
Dim caa As Canvas
caa.Initialize(Root)
If lbl_recipe_item_category.Width<caa.MeasureStringWidth(lbl_recipe_item_category.Text,lbl_recipe_item_category.Typeface,lbl_recipe_item_category.TextSize) Then
lbl_recipe_item_category.Width=caa.MeasureStringWidth(lbl_recipe_item_category.Text,lbl_recipe_item_category.Typeface,lbl_recipe_item_category.TextSize)+10dip
End If
Dim NumberOfMatches As Int=0
NumberOfMatches = Starter.SQL1.ExecQuerySingleResult2("SELECT count(*) FROM tbl_fav WHERE recipe_id=?", Array As String(r.recipe_id))
If NumberOfMatches=0 Then
lbl_recipe_item_fav.Text=Chr(0xF08A)
Else
lbl_recipe_item_fav.Text=Chr(0xF004)
End If
lbl_recipe_item_ratings.Text = $"${Chr(0xF005)} ${rating} | ${Chr(0xF27A)} ${comments}"$
Dim ca As Canvas
ca.Initialize(Root)
If lbl_recipe_item_ratings.Width<ca.MeasureStringWidth(lbl_recipe_item_ratings.Text,lbl_recipe_item_ratings.Typeface,lbl_recipe_item_ratings.TextSize) Then
lbl_recipe_item_ratings.Width = ca.MeasureStringWidth(lbl_recipe_item_ratings.Text,lbl_recipe_item_ratings.Typeface,lbl_recipe_item_ratings.TextSize) +5dip
End If
Dim cs As CSBuilder
cs.Initialize.Append(r.title).Append(CRLF).Size(10).Typeface(Typeface.FONTAWESOME).Append($"${Chr(0xF017)} ${r.cooking_time} | "$).Append(Chr(0xF007)).Append($" ${r.servings} Persons"$).PopAll
lbl_recipe_item_recipe_details.Text=cs
Downloadimage_Recipe_image(r.recipe_image_url,img_recipe_item_recipe_image)
Downloadimage_user_image(user_image,lbl_recipe_item_user_image)
Dim cs2 As CSBuilder
cs2.Initialize.Clickable("cs",r.user_id).Underline.Append(user_name).PopAll
cs2.EnableClickEvents(lbl_recipe_item_user_name)
lbl_recipe_item_user_name.Text=cs2
Dim rr As Reflector
For Each v As B4XView In pnl.GetAllViewsRecursive
rr.Target = v
rr.SetOnTouchListener("clv_categories2_Touch")
Next
Return pnl
End Sub