Italian ricalcolo atezza CustomListView

zenlab

Member
Licensed User
Longtime User
ciao, facendo i vari test con dispositivi di diversa dimensione e ho riscontrato un problema di altezze impostate al pannello di una customListView...
in pratica passando da un 5 pollici ad un 10...nonostante carico una view script e ancoraggi vari, settando l'altezza del pannello a 415dip su un telefono, tutto è perfetto. Se lancio dal tablet, la view viene tagliata e per farla corretta devo impostarla a 600dip almeno.....se tolgo l'autoscale dallo script della view...tutto ritorna corretto ma si vede malissimo....
come faccio secondo voi?
 

LucaMs

Expert
Licensed User
Longtime User
Dovresti creare due "disegni" diversi dell'interfaccia utente a seconda che siano smartphone (i 5") o tablet (i 10").

Comunque, se parli di "415dip su un telefono" evidentemente non parli dell'altezza dei singoli item ma dell'intera CLV (confermami che sia così).

Io farei così:

1) creerei un layout da usare come item della CLV, alto N dip, SENZA AutoScaleAll;
2) a runtime calcolerei lo spazio disponibile (verticale) per la CLV (H) e lo dividerei per l'altezza dell'item, tagliando i decimali di resto, moltiplicherei l'intero ottenuto per l'altezza dell'item.

Dim NumOfVisibleItems As Int = H / N

CLV.Height = NumOfVisibleItems * N
 
Last edited:

zenlab

Member
Licensed User
Longtime User
no, il problema non è questo....è sull'altezza del singolo item della CustomListView....
di solito nel ciclo di creazione, creo un pannello e gli do un altezza e una larghezza, poi gli carico una view sul pannello ed in fine carico il pannello alla CustomListView. ecco, l'altezza del pannello con telefono dovrebbe essere impostata a 400dip, con il tablet da 10 dovrebbe essere impostata a 600dip per farci stare tutti i componenti che carico nella view. Se poi tolgo l'autoscale, diventa un disastro per gli occhi sul 10''
 

Sagenut

Expert
Licensed User
Longtime User
Tu vuoi ottenere che su entrambi i device ci siano, ad esempio, 5 items visibili che riempiano perfettamente la CLV?
Il tuo problema è non avere item tagliati?
 

zenlab

Member
Licensed User
Longtime User
ecco qui in allegato!!!
la versione tablet, come visibile in screenshot, taglia completamente il blocco larghezza e campo1
 

Attachments

  • tablet.png
    tablet.png
    75 KB · Views: 221
  • smartphone.png
    smartphone.png
    64 KB · Views: 241
  • 1.zip
    20 KB · Views: 221

zenlab

Member
Licensed User
Longtime User
ho provato già...ma fa veramente schifo....domani vedo di mandare uno screenshot con l'autoscale a off sul tablet....
 

nonno

Active Member
Licensed User
Longtime User
Scusate potreste spiegarmi il motivo ... se credo Clv da actuvity vedo la linee che dividi le righe , mentre se inserisco un pannello le linee non si notano pur cambiando i colori nelle proprietà vedo la linea che separa tenendo premuto conteporamente su du righe.
 

LucaMs

Expert
Licensed User
Longtime User
( B4x e una versione recete di B4a? )
Per B4X di solito intendiamo tutti i "linguaggi" B4A, B4J e B4i.

esempio del tuo post #10 non riesco a provarlo
Probabilmente non stai usando xCustomListView, che è una versione di CustomListView adatta a tutti e tre i linguaggi:
https://www.b4x.com/android/forum/t...-cross-platform-customlistview.84501/#content

Quando carichi quel progetto, non ricevi messaggi d'errore? (prima ancora di avviarlo)
 
Top