Italian ... sempre i soliti problemi sul Layout

sirjo66

Well-Known Member
Licensed User
Longtime User
Ciao a tutti,
è da un po' che sono assente, ma vi ho sempre letti.
Sto riprendendo un po' in mano B4A e ho sempre i soliti problemi di tutti, la composizione dei layout delle schermate, anche usando gli allineamenti (ancoraggi) il tutto è orribile, oggetti che si sovrappongono eccetera eccetera.
In alcune app ho risolto ri-posizionando poi gli oggetti nel Activity_Create usando il "%" ma quello che volevo chiedervi è se nel frattempo ci sono stati sviluppi e miglioramenti e se c'è un sistema migliore per la creazione dei layout

Grazie mille
Sergio
 

Sagenut

Expert
Licensed User
Longtime User
Anche se non è il modo corretto/migliore anche io tendo a gestire quasi tutto con le percentuali.
Gli ancoraggi sarà che non li interpreto bene, ma faccio fatica ad ottenere ciò che voglio solo con quelli.
Se eventualmente posti il file del Layout e una immagine di come lo vorresti o la descrizione di cosa vuoi ottenere provo a darci un'occhiata.
 

LucaMs

Expert
Licensed User
Longtime User
Novità o soluzioni migliori non ci sono. Il giorno in cui quei maledetti produttori si decideranno a fabbricare solo display con rapporto altezza/base standard, come è per i televisori (magari proprio quello, 16:9), questi problemi sarebbero risolti. Quindi mai, a quanto pare, l'anima de... :mad: 😁

Secondo me la cosa migliore è stabilire che le altezze delle view che contengano testo o debbano essere premute - quindi principalmente EditText, Label e Button, ma non solo, anche gli item delle CLV, ad esempio, vadano impostate su 45/50dip. Usando i dip, le dimensioni in cm dovrebbero essere uguali su ogni dispositivo; anzi, usare sempre i dip!

Poi bisogna mettersi in testa che non si dovrebbe creare uno "schema" (dovrei scrivere "layout" ma non voglio confonderlo con il file di layout) uguale per smartphone e tablet ed usare le percentuali, perché il risultato sarà pessimo e si sprecherà spazio utile nei tablet.

In alcune app ho risolto ri-posizionando poi gli oggetti nel Activity_Create usando il "%"
A parte il fatto che sarebbe meglio se creassi progetti B4XPages, qualunque aggiustamento, perfino se usassi le %, meglio scriverlo nello script del layout, anche perché puoi vederne subito gli effetti, senza dover installare e lanciare l'app (e puoi anche sfruttare l'Abstract Designer per vedere il layout su diversi modelli di dispositivo:
1685286854818.png



A dire la verità una novità ci sarebbe, ma finora non l'ho usata e non mi pare risolva quei problemi, che dipendono sempre da quel maledetto rapporto altezza/base:
https://www.b4x.com/android/forum/threads/b4x-dse-designer-script-extensions.141312/
 

sirjo66

Well-Known Member
Licensed User
Longtime User
mi ricordo anche che qualcuno (non mi ricordo chi ma mi sembrava Klaus e LucaMs) avevano fatto una Sub per ridimensionare gli oggetti in base alla risoluzione, esiste ancora ??

P.s: quel "esiste ancora" si intende per la "Sub", non per "LucaMs" 😊
 

LucaMs

Expert
Licensed User
Longtime User
mi ricordo anche che qualcuno (non mi ricordo chi ma mi sembrava Klaus e LucaMs) avevano fatto una Sub per ridimensionare gli oggetti in base alla risoluzione, esiste ancora ??
Era questo, di Klaus:
https://www.b4x.com/android/forum/threads/autoscale-code-module.23750/
ma è del 2012 e probabilmente l'ultimo aggiornamento è del 2016.
Dimenticalo che è meglio.

P.s: quel "esiste ancora" si intende per la "Sub", non per "LucaMs"
LucaMs quasi non esiste più 😊
 

sirjo66

Well-Known Member
Licensed User
Longtime User
A parte il fatto che sarebbe meglio se creassi progetti B4XPages.......

E' la prossima cosa che vorrei fare, per ora gesisco tutto con le Activities

qualunque aggiustamento, perfino se usassi le %, meglio scriverlo nello script del layout

questo è molto interessante, io l'ho sempre scritto nel Activity_Create
puoi farmi un esempio ?

Grazie mille
Sergio
 

LucaMs

Expert
Licensed User
Longtime User
puoi farmi un esempio ?
Non ti servono esempi, perché ci puoi scrivere lo stesso codice che scriveresti nell'Activity_Create (ma con i vantaggi detti in preDecenza).
Inoltre, nel Designer sono disposibili proprietà delle view che non lo sono nel sorgente dell'Activity, come ad esempio Right e Bottom, HorizontalCenter e VerticalCenter, molto utili per creare l'interfaccia utente (tanto è vero che pubblicai un modulo per averle anche da codice, insieme ad altre).

P.S. Miiiiiiiiiizzeca, quel mio modulo è di oltre 5 anni fa! Maremma hane, come svolazza il tempo!
 
Last edited:
Top