Italian Popup Menù

Ennesima77

Member
Licensed User
Longtime User
Ciao a tutti,
essendo un novizio e avento tante idee ho anche tanti dubbi e curiosità.
Stò realizzando un programmino per gestire gli associati di un circolo privato.
Ho creato una activity con un elenco degli associati (usando un listview) e vorrei fare in modo che facendo un longtouch appaisse un menù di popup per scegliere tre azioni (Modifica, Iscrivi, Blocca/Sblocca).

La stessa cosa vorrei farla su una serie di immagini, che rappresentano gli iscritti presenti in sala, con altre voci diverse.

sapreste indirizzarmi su come realizzare questa cosa?

Grazie e buona giornata.
 
Last edited:

Dominex

Active Member
Licensed User
Longtime User
Intendi così:

B4X:
Sub Globals
   Dim ListView1 As ListView
   Dim pnlOpzioni As Panel
   Dim Socio As String
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.Color = Colors.Gray
   ListView1.Initialize("ListView1")
   ListView1.ScrollingBackgroundColor = Colors.Transparent
   ListView1.SingleLineLayout.ItemHeight = 50dip
   ListView1.SingleLineLayout.Label.TextSize = 20
   ListView1.SingleLineLayout.Label.TextColor = Colors.Blue
   ListView1.SingleLineLayout.Label.Gravity = Gravity.CENTER
   ListView1.FastScrollEnabled = True
   For i = 1 To 50
      ListView1.AddSingleLine("Socio #" & i)
   Next
   Activity.AddView(ListView1, 0, 0, 100%x, 100%y)
End Sub

Sub ListView1_ItemLongClick (Position As Int, Value As Object)
   pnlOpzioni.Initialize("pnlOpzioni")
   Activity.AddView(pnlOpzioni,0,0,100%x,100%y)
   Dim pnlTemp As Panel
   pnlTemp.Initialize("")
   pnlTemp.Color = Colors.Black
   pnlOpzioni.AddView(pnlTemp,25%x,50%y-75dip,50%x,150dip)
   Dim btnOpzioni(3) As Button
   For c = 0 To btnOpzioni.Length-1
      btnOpzioni(c).Initialize("Opzioni")
      btnOpzioni(c).Tag = c
      pnlTemp.AddView(btnOpzioni(c),0,c*(pnlTemp.Height/3)+2dip,pnlTemp.Width,pnlTemp.Height/3)
   Next
   btnOpzioni(0).Text = "Modifica"
   btnOpzioni(1).Text = "Iscrivi"
   btnOpzioni(2).Text = "Bocca/Sblocca"
   Socio = Value
End Sub

Sub Opzioni_Click
   Dim Send As Button
   Send = Sender
   ToastMessageShow("Hai premuto <"&Send.Text&"> sul Socio "&Socio,False)
   pnlOpzioni.RemoveView
End Sub

Sub pnlOpzioni_Click
'Questo evento serve solo ad evitare pressioni della ListView mentre il popup è aperto.
End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
   Activity.Title = Value
End Sub
 
Last edited:
Top