Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Public p As Panel
Public cvs As B4XCanvas
Public color As Int
End Sub
Public Sub Initialize
B4XPages.GetManager.LogEvents = True
End Sub
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("MainPage")
p.Initialize("test")
p.Width=250dip
p.Height=250dip
color = xui.Color_Red
p.As(B4XView).SetColorAndBorder(xui.Color_Transparent,5dip,color,10dip)
cvs.Initialize(p)
cvs.Resize(p.Width, p.Height)
p = draw_text(cvs,p,color,"Testing red")
Root.AddView(p,10dip,10dip,p.Width,p.Height)
End Sub
Private Sub draw_text(cnvs As B4XCanvas,pnl As Panel,clr As Int,text As String) As Panel
Dim rect As B4XRect
rect.Initialize(0dip, 0dip, 250dip, 250dip)
cnvs.DrawRect(rect,clr, False, 1dip)
Dim fontsize As Int = 20
cnvs.DrawText(text,(pnl.Width/2),(pnl.Height/2),xui.CreateDefaultFont(fontsize),xui.Color_Black,"CENTER")
Return pnl
End Sub
Private Sub test_Click
If color = xui.Color_Red Then
color = xui.Color_Green
Else
color = xui.Color_Red
End If
p.As(B4XView).SetColorAndBorder(xui.Color_Transparent,5dip,color,10dip)
cvs.Initialize(p)
If color = xui.Color_Red Then
p = draw_text(cvs,p,color,"Testing red")
Else
p = draw_text(cvs,p,color,"Testing green")
End If
End Sub