Italian Menu , come cambiare activity

Discussion in 'Italian Forum' started by bube89, Aug 14, 2019.

  1. bube89

    bube89 Member Licensed User

    Salve a tutti
    chiedo gentilmente un aiuto sto utilizzando il menu tree fornito da Erel ,
    https://www.b4x.com/android/forum/t...g-or-collapsing-xcustomlistview-items.106148/
    non riesco a capire come poter accedere ad un altra activity utilizzando il bottone1 sottostante di un "item" portandomi con me la logica del menu.

    ho utilizzato la classe B4XDrawer per creare il menu a scomparsa inserendo il menu tree di Erel utilizzando solo 1 item, per fare le prove.
    Quindi ho creato un altra activity e la sub del bottone nel main che richiama l'activity creata con un suo layout, però giustamente quando provo il click del bottone mi apre la nuova activity ma senza la logica del menu a scomparsa creata in precedenza nel main, come posso fare? come posso aggiungere a tutte le activity che farò la logica del menu che ho nel main?
     

    Attached Files:

    Last edited: Aug 14, 2019
  2. GIS

    GIS Active Member Licensed User

    ciao, se metti dello snippes forse si capisce meglio. Cosa intendi per logica del bottone. Forse devi rendere una variabile/array comune a tutto il progetto se vuoi far passare un valore da una Activity all altra.
    Code:
    Sub Process_Globals
      
            
    Dim Scelta As Int
          
    End Sub
     
    Last edited: Aug 14, 2019
  3. bube89

    bube89 Member Licensed User

    Grazie la risposta , ho aggiunto una gif per far capire cosa intendo anche se non si vede benissimo, praticamente quando clicco il bottone mi apre l'activity che ho creato ma non riesco in questa nuova activity che mi apre a rifar apparire anche il menu che ho fatto nel main
     
  4. LucaMs

    LucaMs Expert Licensed User

    Modo più semplice: duplicare il menu (ed il relativo codice) in ogni activity.
    Modo più "logico": creare il menu come custom view.
     
    bube89 likes this.
  5. udg

    udg Expert Licensed User

    Vedo che sei un nuovo (nuovissimo) membro della comunità: benvenuto!
    LucaMs ti ha già risposto in merito alle possibilità.

    Potresti anche delegare il menu ad una classe ed in ciascuna activity instanziare quella classe.
    Per avere un'idea guarda qui.
     
    Last edited: Aug 14, 2019
    bube89 likes this.
  6. bube89

    bube89 Member Licensed User

    Si si nuovissimo , profumo ancora :). Grazie per il benvenuto e grazie a tutti per le risposte ,opterò per una custom view se riesco visto che sono nuovissimo di b4a avrò un bel po di problemi che cercherò il più possibile di risolvere da solo, quando mi farò risentire vuol dire che saranno passate ore di dura agonia davanti al pc :D:(:mad:. Ancora grazie a tutti

    p.s
    per caso c'è un file o nel forum i metodi delle librerie che vengono fornite in b4a?
     
  7. GIS

    GIS Active Member Licensed User

    https://www.b4x.com/android/forum/forums/additional-libraries-classes-and-official-updates.29/
    qui trovi tutte le librerie addizionali. Cmq basta che fai una ricerca....Poi credo che le librerie siano utili trovare quando cerchi di fare qualcosa. Una lista non so che senso possa avere. Sapere che c'è una libreria che fa una determinata cosa che non usi a che ti serve sapere. Quando cerchi qualcosa e trovi una libreria che ti può essere utile allora si.

    Cmq qui ci sono dei veri professionisti che ti possono rispondere, di cui i non faccio parte. Tanto per precisare.
     
    bube89 and sirjo66 like this.
  8. Sagenut

    Sagenut Active Member Licensed User

    Forse oltre alle librerie aggiuntive lui cercava questo:
    https://www.b4x.com/android/documentation.html
    Quì trovi un pò tutti i metodi e i parametri dei vari comandi e librerie inclusi di base con B4A.
    E Benvenuto!
     
    LucaMs and bube89 like this.
  9. bube89

    bube89 Member Licensed User


    Grazie per il link , era proprio questo :cool:.

    Spero di non andare offTopic , ma non capisco appieno queste CustomView , ho provato a nazzicare a giro e a vedere qualche esempio ( ne so uscito cosi:confused:).
    il layout lo devo scrive in codice della CustomView? ( anche se in alcuni esempi il layout viene creato appositamente se non erro)

    Comunque se non sbaglio la "logica", che mi ha suggerito LucaMs è di fare una CustomView con dentro il codice del menu che ha fornito Erel, ma il codice di Erel ha dentro un altra customView che richiama un layout :confused::confused::confused::confused::confused::confused: ( sembra una matriosca), come posso fare?



    il Codice del main è questo

    Code:
    Sub Globals
        
    Private clv1 As CustomListView
        
    Private lblTitle As B4XView
        
    Private pnlTitle As B4XView
        
    Private pnlExpanded As B4XView
        
    Private xui As XUI
        
    Private expandable As CLVExpandable
       
        
    Dim Drawer As B4XDrawer
       
       
        
    Private Label1 As Label
       
     
    End Sub

    Sub Activity_Create(FirstTime As Boolean)
        
    'Activity.LoadLayout("1")
       
       
        Drawer.Initialize(Me, 
    "Drawer"Activity45%y)
        Drawer.CenterPanel.LoadLayout(
    "Main")
        Drawer.LeftPanel.LoadLayout(
    "1")
        expandable.Initialize(clv1)
       
            
    Dim p As B4XView = CreateItem(Rnd(0xFF0000000xFFFFFFFF), "ITEM1"45%y)
            clv1.Add(p, expandable.CreateValue(p, 
    "some value"))
            Label1.Text=
    " pagina iniziale"
           
      
           
    End Sub

    Sub CreateItem(clr As Int, Title As String, ExpandedHeight As Int) As B4XView
        
    Dim p As B4XView = xui.CreatePanel("")
        p.SetLayoutAnimated(
    000, clv1.AsView.Width, ExpandedHeight)
        p.LoadLayout(
    "Item")
        p.SetLayoutAnimated(
    000, p.Width, p.GetView(0).Height) 'resize it to the collapsed height
        lblTitle.Text = Title
        pnlTitle.Color = clr
        
    Return p
    End Sub


    Sub clv1_ItemClick (Index As Int, Value As Object)
        expandable.ToggleItem(Index)
    End Sub


    Sub Activity_Resume

    End Sub

    Sub Activity_Pause (UserClosed As Boolean)

    End Sub

    Sub Button1_Click
        
    StartActivity(resistenze)
     
  10. LucaMs

    LucaMs Expert Licensed User

    Normalmente sì ma, se non sbaglio, puoi anche caricarlo da file, chiamando una routine apposita usando CallSubDelayed dall'interno della routine DesignerCreateView.
    In questo secondo caso, però, sorgerebbe il problema nel caso in cui tu volessi compilare la custom view come libreria, perché dovresti incorporare in questa il file di layout, cosa fattibile ma... dovresti studiare come questo:
    https://www.b4x.com/android/forum/threads/embedding-files-in-compiled-libraries.37689/#content

    No, non ho nemmeno guardato il codice di Erel, volevo solo consigliarti di creare una custom view (il tuo menu) in modo da poterlo caricare nei layout delle Activity in cui vuoi che compaia.

    Ecco, l'ho guardato adesso. In quel Main viene dimostrato l'utilizzo di una custom view piuttosto sofisticata, CLVExpandable.
    Tu invece dovresti creare la tua semplice "barra menu", con un panel con angoli arrotondati, colorato, con delle imageview che fungano da button e con gli eventi associati a queste ultime.
     
    bube89 likes this.
  11. bube89

    bube89 Member Licensed User

    Grazie LucaMs ,ma volevo riuscire a riprodurre un "menu tree" ,ho bisogno di avere dei sotto menu personalizzabili, per questo mi sto tanto ingarbugliando, secondo te è una cosa fattibile per me che sono alle prime armi riuscire nell'intento ?
    Perché avrei trovato un altro metodo , cioè ogni volta che chiamo un activity dal main tramite quel menu, aggiungo ad essa (activity) un pulsante che ritorna al main, però è un po "brutto" passami il termine :rolleyes:
     
  12. Sagenut

    Sagenut Active Member Licensed User

    Avventurarsi in una CustomView essendo, come dici tu, alle prime armi forse è un passo un pò più grande del dovuto.
    Ciò non vuol dire impossibile.
    A mio parere non c'è una linea unica è uguale per tutti per l'apprendimento.
    Uno si concentra e cerca di imparare quello che gli serve al momento.
    Però ci devono essere un pò di basi minime.
    Ma vedrai che con i consigli degli esperti, gli altri non io, tiri fuori qualcosa piano piano.
    Queste letture sono molto importanti:
    https://www.b4x.com/android/forum/threads/b4x-documentation-booklets.88985/
    E ci trovi anche un documento dedicato proprio alle CustomView.
    Buona Lettura e Buon Lavoro!
     
    bube89 likes this.
  13. LucaMs

    LucaMs Expert Licensed User

    Beh, una custom view di questo tipo, con un numero non predefinito di sotto-menu, per quanto possibile è sicuramente complicata.

    Non è necessario aggiungere un pulsante, l'utente premerà il tasto Back del dispositivo, uscendo dall'Activity corrente e tornando a quella chiamante.
    Nel caso in cui si voglia forzare il ritorno alla Main malgrado si sia passati tramite un'altra Activity, basta gestire l'evento Activity_KeyPress:
    Code:
    Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
       If KeyCode = KeyCodes.KEYCODE_BACK Then
           
    StartActivity(Main)
       
    End If
    End Sub
     
    bube89 likes this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice