Italian Script designer

LucaMs

Expert
Licensed User
Longtime User
Scusate, ma in questo periodo non sono lucidissimo e probabilmente ho anche poca voglia di leggere e concentrarmi, ma...

a che serve lo script designer?

Se devo scriverci le posizioni e dimensioni delle view, non vedo più l'utilità del designer stesso.

A questo proposito, la mia idea era quella di:

creare il mio "form" col designer, con impostato il layout variant per il mio smartphone (480x800 - 1.5);
farlo "esaminare" da un modulo apposito che generasse il "codice" (un file di testo) per la dichiarazione delle view e le loro dimensioni e posizioni in percentuali. Quindi usare il copia&incolla e infine togliere il modulo "generatore" dall'app.

Avevo (ed ho) però un grosso problema: non sapevo come reperire, durante il loop per le view, il NOME delle view! L'unica sarebbe stato usare i tag, ma che spesso utilizzo per altri scopi.

Quindi le mie domande sono due:
1) Script designer;
2) è possibile ottenere i nomi delle view tramite la reflection? (riuscissi a capire bene la reflection starei a cavallo in molte situazioni :) ).

Grazie a tutti, ciao.

PS immagino e spero che lo script potrebbe evitarmi proprio tutto quanto sopra.
 
Last edited:

djveleno

Active Member
Licensed User
Longtime User
Dunque... si va con ordine:
Lo script designer serve ad adattare le view alle diverse dimensioni degli schermi presenti sul mercato degli smartphone.
Se l'app che devi sviluppare è destinata solo a tuo uso e consumo, una volta impostato il design con le corrette impostazioni del tuo smart, non hai più necessità di nessun adattamento diverso, se invece l'app deve essere distribuita, ovviamente non potendo sapere a priori quali dimensioni avranno gli schermi su cui girerà, è necessario fare in modo che sia fruibile dal maggior numero di utenti possibili, per farlo si può usare lo script designer o anche un proprio programma, il risultato non cambierà (si spera), una cosa non mi è chiara, cosa intendi per NOME delle view...
 

LucaMs

Expert
Licensed User
Longtime User
Dunque... si va con ordine:
Lo script designer serve ad adattare le view alle diverse dimensioni degli schermi presenti sul mercato degli smartphone.
Se l'app che devi sviluppare è destinata solo a tuo uso e consumo, una volta impostato il design con le corrette impostazioni del tuo smart, non hai più necessità di nessun adattamento diverso, se invece l'app deve essere distribuita, ovviamente non potendo sapere a priori quali dimensioni avranno gli schermi su cui girerà, è necessario fare in modo che sia fruibile dal maggior numero di utenti possibili, per farlo si può usare lo script designer o anche un proprio programma, il risultato non cambierà (si spera), una cosa non mi è chiara, cosa intendi per NOME delle view...


Innantitutto, grazie per la risposta, sei sempre presente :) (intendo dire partecipe, non che sei sempre qui, hehehe).

Si, l'adattamento ai vari display, era il discorso. Avevo risolto, come dicevo... beh, nn mi ripeto, è scritto sopra.
Ma nello script, se metto .width = 100%X tanto vale che lo metta nei moduli activity, no? E, d'altra parte, se invece metto dip, devo comunque copiarli dal designer (dalle proprietà) e incollarli nello script (e non so nemmeno come diventino i 100dip adattati dallo script).

"una cosa non mi è chiara, cosa intendi per NOME delle view..."

Il modulo che ho sviluppato, genera un testo simile al seguente (con nomi delle view significativi, ovviamente, questo è un esempio):

#Region "Views Dim"
Dim Button1 As Button
Dim Button2 As Button
Dim EditText1 As EditText
...
#End Region

#Region "Views layout setting"
' Activity
Activity.AddView(Button1, 0%x, 0%y, 25%x, 10%y)
Activity.AddView(Button2, 0%x, 14%y, 50%x, 10%y)
Activity.AddView(EditText1, 50%x, 14%y, 50%x, 10%y)
...
#End Region


Nell'activity_resume richiamo semplicemente una routine del modulo (GeneratePercLayoutCode(Activity, "Activity")).

La generazione avviene (a runtime!) ciclando sulle view dell'activity/pannelli. Ricava il tipo con GetType, la posizione, le dimensioni e le rapporta al contenitore.

Il problema sta appunto nel Nome della view: Button1, Button2, EditText1 che dovranno finire nel "codice generato", attualmente sono costretto a scriverli nel tag della view, tag che poi non potrò utilizzare per altro, o non sempre perlomeno.

Lessi (nn il cane) una risposta di Erel circa il fatto che ottenerlo (il nome) tramite reflection non sia possibile, ma speravo di aver capito male :(.

Grazie ancora.

Ciao
 
Top