Welcome
Benvenuto sul forum livecode italia

Stai vedendo il forum come ospite, che limita il tuo utilizzo del forum. Se ti registri sul forum, avrai la possibilità di pubblicare post e risposte, comunicare privatamente con gli altri membri, e altre funzioni. In aggiunta, i membri registrati vedono meno pubblicità. Registrarsi è veloce, semplice, e assolutamente gratuito (oltre che a liberarci da molto spam), quindi vai su ucp.php?mode=register e unisciti alla nostra comunità.

nascondere barra di scorrimento

Qui si trattano argomenti che hanno a che fare su Livecode

nascondere barra di scorrimento

Messaggioby francof » dom apr 17, 2016 5:12 pm

ciao a tutti,

questo codice:
Codice: Seleziona tutto
if the environment is "mobile" then
      set the vScrollbar of group "dgLetture" to false     
end if

non dovrebbe far si che, se l'app sta girando in ambiente mobile, la vertical scrollbar della datagrid venga nascosta?
nel property inspector della grid ho impostato la proprietà relativa alla vScrollbar a "auto"

franco
francof
 
Posts: 75
Joined: lun lug 14, 2014 6:33 pm
Has thanked: 6 time
Have thanks: 1 time

Re: nascondere barra di scorrimento

Messaggioby livecodeitalia » lun apr 18, 2016 2:51 pm

Il codice corretto è il seguente:
Codice: Seleziona tutto
if the environment is "mobile" then
     set the dgProp[ "show vscrollbar" ] of group "dgLetture"  to false
end if
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Re: nascondere barra di scorrimento

Messaggioby francof » mar apr 19, 2016 7:34 pm

ciao e grazie per l'attenzione,
premetto che ho preso il codice che ho utilizzato per nascondere la barra dal dizionario LC, alla voce vScrollbar. è indicato come esempio... boh.

con il codice la barra, nel caso di ambiente mobile, non è visualizzata, e va bene. però non mi funziona più lo scroller, accidenti non so qual'è il termine corretto, "a ditate" insomma.
francof
 
Posts: 75
Joined: lun lug 14, 2014 6:33 pm
Has thanked: 6 time
Have thanks: 1 time

Re: nascondere barra di scorrimento

Messaggioby livecodeitalia » mer apr 20, 2016 11:11 am

Se levi lo scroller da un datagrid devi inventarti qualcosa per farlo scorrere, la soluzione più semplice su mobile è creare uno scroller mobile per muoverlo a ditate.
Fai conto che hai un datagrid che misura 100x200, ma i dati da scorrere sono molto più grandi, fai conto 100x500. Allora usi il seguente codice:
Codice: Seleziona tutto
on OpenCard
  mobileControlCreate "scroller", "mioScroller"
  mobileControlSet "mioScroller", "rect", "0,0,100,200" #dove si trova l'area dello scroller, poteva essere anche "10,10,110,210"
  mobileControlSet "mioScroller", "visible", true  #è sempre bene rendere visibile un controllo per mobile
  mobileControlSet "mioScroller", "ContentRect", "0,0,100,500" #è l'area effettiva che deve scorrere, è solo per i calcoli, quindi devi sempre mettere 0,0 all'inizio
  mobileControlSet "mioScroller", "vIndicator", true #visto che scorre solo verticalmente, basta solo l'indicatore verticale
end OpenCard

on CloseCard
  mobileControlDelete "mioScroller" # altrimenti rimane anche sulle altre card
end CloseCard

on scrollerDidScroll hOffset, vOffset
  set the dgVScroll of group "dgLetture" to vOffset  #così facciamo scorrere il datagrid
end scrollerDidScroll



P.S. l'esempio che avevi letto sul dizionario è per i controlli semplici, non per i datagrid.
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Re: nascondere barra di scorrimento

Messaggioby francof » mer apr 20, 2016 5:58 pm

livecodeitalia ha scritto:...
P.S. l'esempio che avevi letto sul dizionario è per i controlli semplici, non per i datagrid.

mi ha fregato il fatto che, tra i parametri, vi fosse anche "group"


mi scuso ma avrei dovuto senzaltro postare subito il codice che utilizzo per scorrere le righe:
Codice: Seleziona tutto
on openCard
   create_scroller
end openCard

on closecard
   delete_scroller
end closecard

command create_scroller   
   put "dgLetture" into tScrollerGroup
   
   if the environment <> "mobile" then
      exit create_scroller
   end if
   
   // Create native scroller object and save its ID in a local variable
   MobileControlCreate "scroller", dgLetture
   put the result into sScrollerId
   
   // RECT is the area on the card where the SCOLLER should do its work
   MobileControlSet sScrollerId, "rect", (the rect of grp tScrollerGroup)
   
   put the width of grp tScrollerGroup into tWidth
   put the dgFormattedheight of grp tScrollerGroup into tHeight
   set the dgvScroll of grp tScrollerGroup to 0

   // WHAT part fo the datagrid shall be scrolled-> the complete datagrid
   MobileControlSet sScrollerId, "contentRect", (0,0,tWidth,tHeight)
   
   // Display SCROLLER
   MobileControlSet sScrollerId, "visible", "true"
   
   // the typical BUMP effect when you ge to the edge of the object
   mobileControlSet sScrollerId, "canBounce", "true"
   mobileControlSet sScrollerId, "pagingEnabled", "false"
   mobileControlSet sScrollerId, "canScrollToTop", "true"
   mobileControlSet sScrollerId, "delayTouches", "true"
   mobileControlSet sScrollerId, "canCancelTouches", "false"
end create_scroller


// Will be sent when the user actually SCROLLs with his finger
on scrollerDidScroll OffsetX, OffsetY
   lock screen
   set the dgvScroll of group "dgLetture" to OffsetY
unlock screen
end scrollerDidScroll

// REMOVE natove object when card closes!!!!!
command delete_scroller
   if the environment <> "mobile" then
          exit delete_scroller
   end if
     MobileControlDelete sScrollerId   
end delete_scroller

codice che prima della modifica da te suggerita nel tuo primo post funzionava. solo avevo visibile la barra di scorrimento verticale.

una domanda, la dimensione dell'area da scorrere nel tuo esempio è
Codice: Seleziona tutto
mobileControlSet "mioScroller", "ContentRect", "0,0,100,500" #è l'area effettiva che deve scorrere, è solo per i calcoli, quindi devi sempre mettere 0,0 all'inizio

la mia grid è alta 168 pixel, punti o quello che sono. ma io come posso, a priori sapere quante righe di dati conterrà la grid? potrebbero essere 10 o 1000

vedo comunque di fare una prova con il tuo scroller, se non riesco a risolvere, male che vada lascio la barra visibile.

grazie
franco
francof
 
Posts: 75
Joined: lun lug 14, 2014 6:33 pm
Has thanked: 6 time
Have thanks: 1 time

Re: nascondere barra di scorrimento

Messaggioby livecodeitalia » gio apr 21, 2016 1:41 pm

francof ha scritto:una domanda, la dimensione dell'area da scorrere nel tuo esempio è
Codice: Seleziona tutto
mobileControlSet "mioScroller", "ContentRect", "0,0,100,500" #è l'area effettiva che deve scorrere, è solo per i calcoli, quindi devi sempre mettere 0,0 all'inizio

la mia grid è alta 168 pixel, punti o quello che sono. ma io come posso, a priori sapere quante righe di dati conterrà la grid? potrebbero essere 10 o 1000

vedo comunque di fare una prova con il tuo scroller, se non riesco a risolvere, male che vada lascio la barra visibile.

grazie
franco


Quando il dataGrid ha dei dati, chiama questo codice:
Codice: Seleziona tutto
put  the dgFormattedHeight of group "dgLetture" into altezzaDatagrid
mobileControlSet "mioScroller", "ContentRect", ("0,0,100," & altezzaDatagrid)

Chiaramente ogni volta che aggiungi o togli righe va richiamato.
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Re: nascondere barra di scorrimento

Messaggioby francof » mer lug 06, 2016 6:11 pm

dopo qualche mese sono riuscito a dedicarmi nuovamente alla mia app, grazie livecodeitalia per l'aiuto.
lo scroller sembra funzionare bene, finalmente.

non ho ancora ben chiaro se devo calcolare l'altezza della grid, come mi hai indicato qui sotto:
Codice: Seleziona tutto
    put  the dgFormattedHeight of group "dgLetture" into altezzaDatagrid
    mobileControlSet "mioScroller", "ContentRect", ("0,0,100," & altezzaDatagrid)


in quanto l'altezza della grid non varia, che contenga 1 riga o 100 è sempre 168 pixel. farò delle prove.

grazie ancora
franco
francof
 
Posts: 75
Joined: lun lug 14, 2014 6:33 pm
Has thanked: 6 time
Have thanks: 1 time

Re: nascondere barra di scorrimento

Messaggioby livecodeitalia » gio lug 07, 2016 9:20 am

Franco,
il datagrid ha un'altezza fissa, ma il contenuto no!
Se hai 1'000 righe, il contenuto è più lungo rispetto ad avere solo 2 righe. Lo scroller deve sapere la grandezza effettiva del contenuto rispetto alla piccola porzione di finestra visibile.
La proprietà rect del mobile scroller è la porzione visibile sullo schermo, mentre la proprietà contentrect è tutto, compreso quello che esce fuori e usi il dito per scorrere orizzontalmente e/o verticalmente.
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Re: nascondere barra di scorrimento

Messaggioby francof » ven lug 08, 2016 12:23 pm

si, hai ovviamente ragione.
mi ha, forse, confuso il fatto che, in ambiente win, la barra di scorrimento si gestisce autonomamente l'altezza necessaria x visualizzare tutto il contenuto (credo)

ciao
franco
francof
 
Posts: 75
Joined: lun lug 14, 2014 6:33 pm
Has thanked: 6 time
Have thanks: 1 time

Re: nascondere barra di scorrimento

Messaggioby livecodeitalia » lun lug 11, 2016 9:20 am

Capisco,
il fatto è che lo scroller Android lo puoi usare su tutto. Potresti raggrupparci un sacco di cose e muoverle insieme, non è legato ad un particolare oggetto.
Avatar utente
livecodeitalia
Site Admin
 
Posts: 319
Joined: mer lug 09, 2014 11:47 am
Has thanked: 25 time
Have thanks: 13 time

Next

Return to Generale

Who is online

Visitano il forum: Nessuno e 1 ospite

cron
suspicion-preferred