Italian IMLibrary v1.02- ToolBar Horizzontal

ivanomonti

Expert
Licensed User
Longtime User
View attachment 20121

Ecco un nuovo controllo facile da usare e utile, specie per me, una pulsantiera orizzontale infinita da 1 a x bottoni, lo stesso concetto poi lo usero per visualizzare le immagini, qui uso Button.

B4X:
#Region  Project Attributes
   #ApplicationLabel: B4A Example
   #VersionCode: 1
   #VersionName:
   'SupportedOrientations possible values: unspecified, landscape or portrait.
   #SupportedOrientations: unspecified
   #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
   #FullScreen: False
   #IncludeTitle: False
#End Region

Sub Process_Globals
   'These global variables will be declared once when the application starts.
   'These variables can be accessed from all modules.

End Sub

Sub Globals

   Dim imd As ClassMyDialog
   Dim imt As ClassMyToolBar
   Dim iml As ClassMyLayout
   Dim imb As ClassMyButton
   '
   Dim btn(8) As Button
   '
   Dim act As Activity
   Dim col1,col2 As Int
   Dim Button1 As Button
   '
End Sub

Sub Activity_Create(FirstTime As Boolean)

   Activity.LoadLayout("Main")
   iml.Initialize
   iml.SettingLayout(Activity)
   imd.Initialize(Colors.ARGB(220,50,100,150),Colors.black)
 
   Dim btm1 As Button
   btm1.Initialize("Event")
   btm1.Text = "Android"
   btm1.TextColor = Colors.Black
   btm1.Background = imb.imageDrawable("i01.png")
   btn(0) = btm1
 
   Dim btm2 As Button
   btm2.Initialize("Event")
   btm2.Text = "Apple"
   btm2.TextColor = Colors.Black
   btm2.Background = imb.imageDrawable("i02.png")
   btn(1) = btm2
 
   Dim btm3 As Button
   btm3.Initialize("Event")
   btm3.Text = "Windows"
   btm3.TextColor = Colors.Black
   btm3.Background = imb.imageDrawable("i03.png")
   btn(2) = btm3

   Dim btm4 As Button
   btm4.Initialize("Event")
   btm4.Text = "Linux"
   btm4.TextColor = Colors.Black
   btm4.Background = imb.imageDrawable("i04.png")
   btn(3) = btm4
 
   Dim btm5 As Button
   btm5.Initialize("Event")
   btm5.Text = "Firefox"
   btm5.TextColor = Colors.Black
   btm5.Background = imb.imageDrawable("i05.png")
   btn(4) = btm5
 
   Dim btm6 As Button
   btm6.Initialize("Event")
   btm6.Text = "BlackBarry"
   btm6.TextColor = Colors.Black
   btm6.Background = imb.imageDrawable("i06.png")
   btn(5) = btm6

   ' senza icone

   Dim btm7 As Button
   btm7.Initialize("Event")
   btm7.Text = "1"
   btm7.TextColor = Colors.Black
   btm7.Typeface = Typeface.DEFAULT_BOLD
   btn(6) = btm7
 
   Dim btm8 As Button
   btm8.Initialize("Event")
   btm8.Text = "2"
   btm8.TextColor = Colors.Black
   btm8.Typeface = Typeface.DEFAULT_BOLD
   btn(7) = btm8

   Dim col(2) As Int
   col(0) = Colors.ARGB(255,255,204,10)
   col(1) = Colors.ARGB(255,224,180,13)

   imt.Initialize(Activity,0,btn,64dip,64dip,col)

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Event_Click
   Dim bt As Button
   bt = Sender
   Dialog03Open(bt.Tag)
End Sub

Sub xbtn1_Click
   imd.DialogClose()
End Sub

Sub xbtn2_Click
   imd.DialogClose()
End Sub

Sub Liv_ItemClick (Position As Int, Value As Object)
   imd.DialogClose()
End Sub

Sub Dialog03Open(s As String)

   Dim xbtn1 As Button
   xbtn1.Initialize("xbtn1")
   xbtn1.Text = "Close 1"

   Dim xbtn2 As Button
   xbtn2.Initialize("xbtn2")
   xbtn2.Text = "Close 2"

   imd.Dialog02(Activity,"Alert","Finestra dialog 2 chiamata da " & s,xbtn1,xbtn2)

End Sub
 

Attachments

  • 782_596205547110222_1002698381_n.jpg
    782_596205547110222_1002698381_n.jpg
    26.2 KB · Views: 471
  • IMLibrary 1.02.zip
    36.4 KB · Views: 286
Last edited:

ivanomonti

Expert
Licensed User
Longtime User
1383622_596374227093354_388750331_n.jpg


Puoi usare il colore ARGB per dare anche la trasparenza al colore così si vede sotto la cartina e se ti piace fra un oretta metto giù anche la tabBar modificata con possibilità di nasconderla.
 

ivanomonti

Expert
Licensed User
Longtime User
-1.png

Nuovo aggiornamento ben ataddato anche su tab la toolBar funge da menu :)
 
Last edited:

luke2012

Well-Known Member
Licensed User
Longtime User
Un lavoro stupendo Ivano! Si vede che la grafica è il tuo pane :)

Sarebbe fantastico se ci fosse un'initialize del genere :

dim icons (8) as string
icons (0) = "ico1.png"
icons (1) = "ico2.png"
icons (2) = "ico3.png"
icons (3) = "ico4.png"
icons (4) = "ico5.png"
icons (5) = "ico6.png"
icons (6) = "ico7.png"
icons (7) = "ico8.png"
imt.Initialize(Activity,0,icons,64dip,64dip,Colors.black, Colors.LightGrey)
 

ivanomonti

Expert
Licensed User
Longtime User
poi me la spieghi, passi il nome per poi pubblicarle nella toolbar, ho non ho capito il tuo intento.
 

LucaMs

Expert
Licensed User
Longtime User
Confesso, per alcune cose sono molto pigro !

Non ho ancora avuto la voglia di mettermi a distinguere i nomi tra le barre/pulsantiere in testa o in fondo alle schermate. Se non mi decido, continuerò a fare confusione hehehe.

Per il momento, sto completando (tra un paio di decenni ci riiuscirò, spero) un'app con soli tasti, nemmeno grafici!!!
Ecco perché ti invidio, Ivano (Luke2012 scrive: Un lavoro stupendo Ivano! Si vede che la grafica è il tuo pane :)).

Per darti un'idea (così la dai tu a me, in realtà :D) in fondo alle schermate ho tasti tipo: "nuovo", "salva", "cerca", "esci". Mi consigli questo tuo controllo?

Comunque, vorrei poter parlare anche di cose più generali, IN ITALIANO, ma non in un post come questi, non sarebbe adatto, penso.

Ad esempio: le librerie sono molto comode, ok; ma considerando che stiamo parlando di app per cellulari e che gli utenti "pretendono" (giustamente) che queste siano "leggerissime", inserire librerie nella propria app facilità si le cose, ma chissà quanto codice interno a quelle libreria rimane inutilizzato e quindi occupa spazio inutilmente.

Cmq, quando sarò più lucido (è notte fonda), leggerò meglio e approfitterò sfacciatamente dei tuoi lavori ;).

Grazie, ciao
 

djveleno

Active Member
Licensed User
Longtime User
Le librerie disponibili hanno pesi molto diversi, si va da 2 Kb a qualche Mb, ma non si sta parlando di semplici cellulari, ma di smartphone e tablet che, sia di memoria che di capacità di calcolo non hanno nulla da invidiare a molti pc, quindi, non mi preoccuperei assolutamente del peso delle librerie ma, sopratutto, ai risultati che ed i vantaggi che possono offrire, altrimenti la soluzione quale sarebbe, riscrivere ogni volta il codice che serve ad una determinata app?
 

LucaMs

Expert
Licensed User
Longtime User
Le librerie disponibili hanno pesi molto diversi, si va da 2 Kb a qualche Mb, ma non si sta parlando di semplici cellulari, ma di smartphone e tablet che, sia di memoria che di capacità di calcolo non hanno nulla da invidiare a molti pc, quindi, non mi preoccuperei assolutamente del peso delle librerie ma, sopratutto, ai risultati che ed i vantaggi che possono offrire, altrimenti la soluzione quale sarebbe, riscrivere ogni volta il codice che serve ad una determinata app?


Beh, avrai letto anche tu commenti di "scaricatori" di app che scrivono cose come: "è pesante", "tempo di scaricamento", etc.
Come si dice spesso, "reinventare la ruota" è assurdo. No, la soluzione sarebbe quella di avere si delle librerie, ma i sorgenti di tali librerie e uno strumento, magari il compilatore, che importasse solo le routine effettivamente utilizzate nel progetto. Un po' come vedi gli alert che ti informano che una determinata variabile non viene utilizzata!
 

Slacker

Active Member
Licensed User
Longtime User
B4X:
Dim col(2) As Int
  col(0) = Colors.Red
  col(1) = Colors.Green
 
imt.Initialize(Activity, 0, btn, 64dip, 64dip, col)

Non setta alcun colore... :(
 

ivanomonti

Expert
Licensed User
Longtime User
Giusto, il colore e solo se non metti le bitmap, nel senso che se metti solo il testo allora ti crea sfumatura, se metti le bitmap il colore non viene considerato per lasciare la trasparenza.

di fatto la toolbar la sto rivedendo, perchè usandola mi rendo conto che mancano molti aspetti che in parte li ho scritti

1) possibilità di avere 3 tools bar contemporaneamente
  • top
  • center
  • bottom
Possibilità di mettere hide la toolsBar
Possibilita di eliminare la toolsBar
possibilità di upgrade della stessa (esempio x leggere cartelle e sub cartelle come una gallery)
e la posizione della stessa che non e perfetta in base ai vari display

credo che domenica sia al completo.
 

rbsoft

Active Member
Licensed User
Longtime User
Eccellente! Strumento molto utile, vi ringrazio molto, ivanomonti.

Rolf
 

rbsoft

Active Member
Licensed User
Longtime User
Link does not work.
Link non funziona.

Rolf
 
Top