Italian Scrollview con b4xdrawer

Never99

Member
Salve a tutti, sono nuovo in questo forum e nel mondo di b4a (da un mesetto ci sono). prima di chiedere, ho cercato per vedere se risolvevo da solo ma nada ...
sto facendo un'app e vorrei nel layout principale dell'app, mettere lo scorrimento in giù.
[CODE = b4x] Sub Activity_Create (FirstTime As Boolean)
'Non dimenticare di caricare il file di layout creato con Visual Designer. Per esempio:

Activity.LoadLayout ( "splashlayout")

timer1.Initialize ("timer1", 5000)
timer1.Enabled = True
myimage.Initialize (File.DirAssets, "welcome.png")
ImageView1.SetBackgroundImage (myimage)
ImageView1.Visible = True
ImageView1.BringToFront
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (chiuso come utente booleano)

End Sub

Sub timer1_Tick

ImageView1.Visible = False
timer1.Enabled = False

drawer.Initialize (Me, "Drawer", Activity, 300dip)
drawer.CenterPanel.LoadLayout ( "MainLayout")
drawer.LeftPanel.LoadLayout ( "LeftMenu")
End Sub

Etichetta secondaria_menu_Clicca

drawer.LeftOpen = True

End Sub [/ CODE]

ho provato ad inserire lo scrollview nel timer1_tick in modo che, al finire dello splash screen, partiva il layout Principale (la schermata iniziale dell'app) con drawer e scrollview ma sbaglio qualcosa perche mi da errore ... qualcuno che mi può dar una mano? vi ringrazio anticipatamente.
so già che è un'argomento basilare per voi però, capendolo, riesco a portare avanti il mio progetto e mi aiutereste tantissimo.
 

LucaMs

Expert
Licensed User
Longtime User
Ciao.

Non mi è chiarissimo ciò che vuoi ottenere: una ScrollView che sia la parte principale della tua app, usando B4XDrawer?
Se è così, dovresti mettere la ScrollView nel file di layout che hai chiamato MainLayout.

1 - nella stragrande maggioranza dei casi è meglio usare xCustomListView, anziché ScrollView;
2 - togli lo spazio tra la barra e la parola chiave CODE - per incollare codice, senza dover scrivere a mano i tag CODE, usa il menu:
1595327502834.png


3 - se puoi, allega un progetto anche minimo che poi possiamo correggere (in B4A usa il menu File-Export As Zip).
 

Never99

Member
B4X:
Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:

    Activity.LoadLayout("splashlayout")

    timer1.Initialize("timer1", 5000)
    timer1.Enabled = True
    myimage.Initialize(File.DirAssets, "welcome.png")
    ImageView1.SetBackgroundImage(myimage)
    ImageView1.Visible = True
    ImageView1.BringToFront
    
    ImageView_quintana.Initialize(ImageView_quintana)
    PicRotationtimer.Initialize("PicRotationTimer", 4000)
    PicRotationtimer.Enabled = True '4 seconds delay
    Pics = Array As String("quintana1.jpg", "quintana2.jpg", "quintana3.jpg", "quintana4.jpg", "quintana5.jpg")
    
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub PicRotationTimer_Tick
    
    ImageView_quintana.SetBackgroundImage(LoadBitmap(File.DirAssets, Pics(Counter)))
                
    Counter = Counter + 1
                
    If Counter > 4 Then Counter = 0
    
End Sub

Sub timer1_Tick
    
    ImageView1.Visible = False
    timer1.Enabled = False
    
    drawer.Initialize(Me, "Drawer", Activity, 300dip)
    drawer.CenterPanel.LoadLayout("MainLayout")
    drawer.LeftPanel.LoadLayout("LeftMenu")
    
End Sub

Sub label_menu_Click
    
    drawer.LeftOpen = True
    
End Sub

Sub Activity_Keypress (KeyCode As Int) As Boolean
    If KeyCode = KeyCodes.KEYCODE_BACK Then
        Activity.RemoveAllViews
        drawer.Initialize(Me, "Drawer", Activity, 300dip)
        drawer.CenterPanel.LoadLayout("MainLayout")
        drawer.LeftPanel.LoadLayout("LeftMenu")
        Return True
    End If
    Return False
End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
    
    Log("Position: "&Position)
    Log("Value: "&Value)
End Sub
 

Never99

Member
Ciao.

Non mi è chiarissimo ciò che vuoi ottenere: una ScrollView che sia la parte principale della tua app, usando B4XDrawer?
Se è così, dovresti mettere la ScrollView nel file di layout che hai chiamato MainLayout.

1 - nella stragrande maggioranza dei casi è meglio usare xCustomListView, anziché ScrollView;
2 - togli lo spazio tra la barra e la parola chiave CODE - per incollare codice, senza dover scrivere a mano i tag CODE, usa il menu:
View attachment 97434

3 - se puoi, allega un progetto anche minimo che poi possiamo correggere (in B4A usa il menu File-Export As Zip).
ecco qui, condiviso.
 

LucaMs

Expert
Licensed User
Longtime User
ecco qui, condiviso.
Hai condiviso del codice sorgente, non il progetto, per cui non abbiamo i layout (se vuoi, ripeto, dovresti esportare il progetto dal menu File - Export As Zip dall'IDE di B4A e allegarlo al tuo post premendo "Attach files", in basso a sinistra).

A occhio, solo scorrendo il tuo codice, mi sembra che manchi solo il Timer1.Enabled = False nel caso in cui l'utente prema il tasto back (e potresti mettere le righe di inizializzazione e caricamento dei layout del Drawer in una routine (ShowDrawer o MostraDrawer), da chiamare al tick del Timer1 e alla pressione di Back).
 

Never99

Member
Hai condiviso del codice sorgente, non il progetto, per cui non abbiamo i layout (se vuoi, ripeto, dovresti esportare il progetto dal menu File - Export As Zip dall'IDE di B4A e allegarlo al tuo post premendo "Attach files", in basso a sinistra).

A occhio, solo scorrendo il tuo codice, mi sembra che manchi solo il Timer1.Enabled = False nel caso in cui l'utente prema il tasto back (e potresti mettere le righe di inizializzazione e caricamento dei layout del Drawer in una routine (ShowDrawer o MostraDrawer), da chiamare al tick del Timer1 e alla pressione di Back).
ho risolto, mi hai fatto accorgere di un errore, Grazie mille:)
un'ultimo aiuto...come si blocca/disabilita lo scorrimento di una webview in una parte specifica di un sito?
grazie mille luca per la pazienza.
 
Top