Italian Chiacchiericci

Star-Dust

Expert
Licensed User
Longtime User
"Beh, questo non creto" (Crozza-Razzi)


[Oh, ma io alludevo a te, ricco e taccagno, eh :p]
si lo avevo capito e rincaravo la dose
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Secondo voi come si potrebbe realizzare in B4A?
https://github.com/jakebonk/BoardView

68747470733a2f2f7468756d62732e6766796361742e636f6d2f44656164556e74696479486172746562656573742d73697a655f726573747269637465642e676966
nessun suggerimento?
 

Star-Dust

Expert
Licensed User
Longtime User
Qualcosa sono riuscito a ottenere, il movimento. Mi manca lo spostamento degli altri oggetti per fare spazio a quello che viene spostato.

ezgif-com-optimize-gif.57029
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Poi ho guardato di nuovo l'originale; è in portrait e, mentre muove il gruppo da spostare, sotto sembra esserci qualcosa di simile ad una HorizontalScrollView.


P.S. sono andato a verificare e HorizontalScrollView non è roba specifica di b4a ma fa parte proprio di Android, quindi è sicuramente quello.
 

Star-Dust

Expert
Licensed User
Longtime User
HorizzontalScrollVire, ScrollView, ScrollView2D non funzionano, perché intercettano il Touch e mi interrompono il movimento (Mi da Action=3 interruzione movimento) ma ho risolto con un semplice panel che mi gestisco io lo scroll in orizzontale e verticale. Funziona bene.

Mi rimane adesso di fare l'inserimento della cella (o celle) dopo lo spostamento
 

LucaMs

Expert
Licensed User
Longtime User
HorizzontalScrollVire, ScrollView, ScrollView2D non funzionano, perché intercettano il Touch e mi interrompono il movimento (Mi da Action=3 interruzione movimento) ma ho risolto con un semplice panel che mi gestisco io lo scroll in orizzontale e verticale. Funziona bene.

Mi rimane adesso di fare l'inserimento della cella (o celle) dopo lo spostamento
Quindi ti basta rilevare, tramite le coordinate, la view che si trova sotto la view trascinata; esisterà già qualcosa tipo: GetViewFromXY? Sarebbe l'ideale.


[ehm... guardare il sorgente originale potrebbe aiutare?]
 

Star-Dust

Expert
Licensed User
Longtime User
Si potrebbe, ma non ci capisco molto bene. Sono arrugginito con Java. Il tempo che lo studio .. faccio prima a pensare un modo mio.
Sto facendo progressi in ogni caso. Spostare una colonna intera é facile, ogni colonna ha la larghezza di 200dip, quindi calcolo cosa deve sostituire dividendo X (_Touch(action as int, X as float, Y as Float..) per 200dip.
 

LucaMs

Expert
Licensed User
Longtime User
uhm... ma se usi i dip poi le view avranno dimensione fissa (in cm) su qualunque dispositivo, no?

Cmq la faccenda ScrollView, HorizontalScrollView che si pappa il touch... il tizio l'ha risolta di sicuro. Cercando su b4x ho visto che si nega questa possibilità ma... "io non creto"
 

Star-Dust

Expert
Licensed User
Longtime User
Io ho cercato sul forum e qualcuno diceva che quando ti da Action=3 vuol dire che il touch viene rilasciato dal tuo oggetto e intercettato da un altro, nel mio caso lo scrollView2D. Appena ho messo un panel non mi ha dato più Action=3. In ogni caso Ho messo Pane_Touch() e lo sto usando ne più ne meno come ScrollView facendolo scorrere in base al tocco. Pochissime righe.

E non mi intercetta il Touch delle label

B4X:
Sub MyPanel_Touch (Action As Int, X As Float, Y As Float)
    Dim XX,YY As Int
 
    Select Action
        Case 0   ' ACTION_DOWN
            Sx=X
            Sy=y
        Case 1   ' ACTION_UP
         
        Case 2   ' ACTION_MOVE
            YY=MyPanel.top+y-Sy
            XX=MyPanel.Left+x-Sx
            If XX>0 Then XX=0
            If YY>50dip Then YY=50dip
            If YY+MyPanel.Height<100%y Then YY=100%y-MyPanel.Height
            If XX+MyPanel.Width<100%x Then XX=100%x-MyPanel.Width
         
            MyPanel.Top=YY
            MyPanel.Left=XX
        Case 3
            'Log("interrupt intercept")
    End Select
End Sub
 

LucaMs

Expert
Licensed User
Longtime User
Non c'ho trafficato granché (anche se è interessante) ma sono certo che su b4x se ne sia parlato molto (del resto, anche la CustomListView DOVREBBE fare qualcosa del genere, penso, quindi magari dai un'occhiata a quella classe).

Ma bada che stai usando i dip, mentre dovresti usare delle percentuali (magari nella Activity_Create ricavi un int da queste, vedi tu) perché altrimenti gli "oggetti" avrebbero le stesse dimensioni sia su un tablet da 500 pollici che su uno smartphone da 2 !

If YY>50dip Then YY=50dip
 

Star-Dust

Expert
Licensed User
Longtime User
Il tuo link mi dice "Invalid URL"

Ma non ci sprecare tempo su questo, la soluzione che ho trovato mi sta bene.
 

Star-Dust

Expert
Licensed User
Longtime User
Nelle ScrollView2D non intercetto io il touch, Anzi ho messo come nome evento "" ma ugualmente lo intercetta l'oggetto per effettuare lo scorrimento orizzontale/verticale
 

LucaMs

Expert
Licensed User
Longtime User
Non usare la ScrollView2D, comunque; secondo me è fastidiosa, se hai una sorta di tabella, perché il movimento normalmente lo fai in orizzontale O in verticale, non in obliquo, cioè libero. Dovrebbe essere qualcosa come Excel.
 

Star-Dust

Expert
Licensed User
Longtime User
Ho provato anche ScrollView e Horizontal.. ma lo stesso
 

Star-Dust

Expert
Licensed User
Longtime User
Un paso avanti
ezgif.com-optimize.gif
 
Top