'Activity module
Sub Process_Globals
End Sub
Sub Globals
Dim pnlTemp As Panel
Dim imvTemp As ImageView
Dim TornaIndietro,FineCorsa As Boolean 'se è True indica che il pulsante sta tornando indietro
Dim FineCorsa As Boolean 'se è True indica che il pulsante è a fine corsa
Dim X0,X1 As Int
End Sub
Sub Activity_Create(FirstTime As Boolean)
'---creaiamo il Panel--
pnlTemp.Initialize("")
pnlTemp.Color = Colors.DarkGray
Activity.AddView(pnlTemp,10%x,70%y,80%x,60dip)
'---Creaiamo il View che funge da Button---
imvTemp.Initialize("")
imvTemp.Color = Colors.Blue
pnlTemp.AddView(imvTemp,0,0,60dip,60dip)
'---Creaiamo il Menù Azzera---
Activity.AddMenuItem("AZZERA","mnuAzzera")
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Activity_Touch(Action As Int, X As Float, Y As Float)
If TornaIndietro OR FineCorsa Then Return
Dim dX,dY As Int
Select Action
Case Activity.ACTION_DOWN
X0 = X-pnlTemp.Left
X1 = imvTemp.Left
Case Activity.ACTION_MOVE
dX = X - X0
imvTemp.Left = Min(X1+dX,pnlTemp.Width-imvTemp.Width)
Case Activity.ACTION_UP
If Abs(X-X0) < 5 Then 'controlla se è stato premuto il pulsante.
dX = X
dY = Y-pnlTemp.Top
If dX>=imvTemp.Left AND dY>=imvTemp.Top AND dX<=imvTemp.Left+imvTemp.Width AND _
dY<=imvTemp.Top+imvTemp.Height Then
ToastMessageShow("Hai premuto il pulsante!",False)
End If
Else If imvTemp.Left >= (pnlTemp.Width-imvTemp.Width) Then
FineCorsaRaggiunta
Else
Dim a As Animation
a.InitializeTranslate("TornaIndietro",0,0,-imvTemp.Left,0)
a.Duration = 500
a.Start(imvTemp)
TornaIndietro = True
End If
End Select
End Sub
Sub TornaIndietro_AnimationEnd
imvTemp.Left = 0
TornaIndietro = False
End Sub
Sub FineCorsaRaggiunta
FineCorsa = True
ToastMessageShow("Evento <Finecorsa>",False)
End Sub
Sub mnuAzzera_Click
imvTemp.Left = 0
FineCorsa = False
End Sub