Ho diversi panel inseriti in uno scrollview:
Il panel incriminato è quello "MODIFICA PERCORSO IMMAGINI"
Il risultato è soddisfacente ed è quello visualizzato nel primo screenshot, con i vari panel con i bordi arrotondati e di colore grigio.
Però, scrollando verticalmente in su di una quantità (apparentemente) superiore ai 60dip (che è - guarda caso - la coordinata Y del bordo superiore dello scrollview) il panel in questione si modifica assumento un aspetto non soddisfacente (vedi "Dopo.jpg"). Il panel più in basso ("PROCEDI") resta immutato e così quelli successivi ancora più in basso.
E' un antipatico effetto a cui vorrei ovviare. L'unico modo che ho trovato è quello di inserire un timer ed ogni secondo correggere la visualizzazione di panel5. Ma è un trucco molto sporco; mi piacerebbe risalire all'origine del malfunzionamento e rimediarvi, se possibile.
Grazie per l'attenzione.
B4X:
scrollview.Initialize (1000dip)
Activity.AddView (scrollview,0,60dip,100%x,100%y)
scrollview.Panel.Height = 1000dip
scrollview.Panel.Width = 100%x
B4X:
scrollview.Panel.AddView (panel5,4dip,337dip,100%x-8dip,245dip)
Però, scrollando verticalmente in su di una quantità (apparentemente) superiore ai 60dip (che è - guarda caso - la coordinata Y del bordo superiore dello scrollview) il panel in questione si modifica assumento un aspetto non soddisfacente (vedi "Dopo.jpg"). Il panel più in basso ("PROCEDI") resta immutato e così quelli successivi ancora più in basso.
E' un antipatico effetto a cui vorrei ovviare. L'unico modo che ho trovato è quello di inserire un timer ed ogni secondo correggere la visualizzazione di panel5. Ma è un trucco molto sporco; mi piacerebbe risalire all'origine del malfunzionamento e rimediarvi, se possibile.
B4X:
Sub Timer1_Tick
' per correggere il panel 5 che cambia scrollandolo; funziona !
Dim cd As ColorDrawable
cd.Initialize(Colors.RGB (192,192,192),6dip)
panel5.Background = cd
panel5.setlayout(4dip,337dip,100%x-8dip,245dip)
End Sub
Grazie per l'attenzione.