Per animare l'immagine di backgroud di una vista.
Animazione circolare ovviamente
Questa é la base della Classe
Animazione circolare ovviamente
Questa é la base della Classe
- Codice:
Sub Class_Globals
Private Vw As View
Private cvs As Canvas
Private x, y, radius As Float
End Sub
'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize(V As View)
Dim left As Int = V.Left
Dim top As Int = V.Top
Dim Btmp As Bitmap = DrawBitmap(V)
Dim cvs As Canvas = CreateBitmap(Btmp.Width,Btmp.Height)
cvs.AntiAlias=True
V.Left=left
V.Top=top
Vw=V
x = Btmp.Width/2
y = Btmp.Height/2
radius = Min(x,y)
DrawRoundBitmap(Btmp)
Vw.SetBackgroundImage(cvs.Bitmap)
End Sub
private Sub CreateBitmap(Width As Int, Heigth As Int) As Canvas
Dim bmp As Bitmap
bmp.InitializeMutable(Width, Heigth)
Dim canv As Canvas
canv.Initialize2(bmp)
Dim r As Rect
r.Initialize(0, 0, bmp.Width, bmp.Height)
canv.DrawRect(r, Colors.Transparent, True, 0)
Dim p As Path
p.Initialize(0, 0)
Dim jo As JavaObject = p
Dim x = Width/2, y = Heigth/2, radius As Float = Min(x,y)
jo.RunMethod("addCircle", Array As Object(x, y, radius, "CW"))
canv.ClipPath(p)
Return canv
End Sub
private Sub DrawRoundBitmap (bmp As Bitmap)
Dim r As Rect
r.Initialize(0, 0, cvs.Bitmap.Width, cvs.Bitmap.Height)
cvs.DrawBitmap(bmp, Null, r)
End Sub
private Sub DrawBitmap(V As View) As Bitmap
Dim XUI As B4XView = V
Dim bmp As Bitmap = XUI.Snapshot
Return bmp
End Sub
Ultima modifica di Dust il Dom Apr 22, 2018 5:13 pm - modificato 2 volte.