Autore Topic: Consiglio su come realizzare un layout  (Letto 1545 volte)

Offline AndreaNobili

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
Consiglio su come realizzare un layout
« il: 12 Agosto 2011, 14:26:08 CEST »
0
Ciao ragazzi,
continuo ad approfittare della vostra conoscienza per chiedervi un parere su come realizzare un layout per una mia activity di introduzione all'applicazione vera e propria...stò seguendo il manuale di Massimo Carli ed ho studiato il capitolo relativo ai layout ma non sono affatto esperto in materia...

Ho avuto un'idea ma non sò se si tratta di una cavolata o se sia una strada percorribile:

Lo schema grafico del layout lo potete vedere schematizzato a questo indirizzo: http://www.andreanobiliphoto.com/storage/varie/AndroidLayout.jpg

Lo sfondo grigio indica lo sfondo dell'activity.

A livello concettuale lo si può dividere su più righe:

Sulla prima riga ci sono 2 aree: quella a sinistra contiene un'immagine grafica (un logo), a destra di tale logo invece vi è un'altra area contenenete un testo.

Sotto vi è una seconda riga contenente del testo che occupa tutto lo spazio

Ancora sotto vi è un'altra riga che contiene del testo (di dimensione maggiore ma credo sia indifferente)

Sotto vi è un'altra riga che contiene solamente un bottone centrato (il classico bottone per passare dall'intro all'applicazione vera e propria

Sotto vi è un'altra riga che contiene 2 aree una accanto all'altra che contengono altri 2 loghi (più piccoli)

Infine vi è una riga che contiene del testo

Io avevo pensato di impostarlo così:

Un LinearLayout verticale esterno che contiene tutti i vari layout.

Dentro di esso mettere un altro LinearLayout orizzontale per visualizzare le 2 View (una per il logo e l'altra per il testo) una accanto all'altra

Sotto un altro Linear Layout contenente una TextView per il testo in orizzontale fill_parent in larghezza

Sotto di questa un'altro LinearLayout verticale che contiene 2 TextView per visualizzare le 2 scritte TEXT una sotto l'altra

Sotto di questo un altro LinearLayout orizzontale che contiene un Button centrato

Sotto di questo  un altro LinearLayout orizzontale per visualizzare le 2 View (una per il logo e l'altra per il testo) una accanto all'altra

ed infine sotto di questo un altro LinearLayout orizzontale che contiene una TextView fill_parent in larghezza

Dite che può avere senso per non impazzirci dietro o consigliate un altro approccio?

Grazie mille
Andrea

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Consiglio su come realizzare un layout
« Risposta #1 il: 12 Agosto 2011, 16:55:23 CEST »
0
Mi sembra vada più che bene, lo farei anche io come lo hai descritto.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline AndreaNobili

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
Re:Consiglio su come realizzare un layout
« Risposta #2 il: 12 Agosto 2011, 17:05:43 CEST »
0
Mi sembra vada più che bene, lo farei anche io come lo hai descritto.

mmm...stavo continuando a vedere il libro...e se inveci usassi un TableLayout?

Alla fine non potrebbe trattarsi proprio di una tabella di 6 righe e 3 colonne:

PRIMA RIGA: LOGO, COLONNA VUOTA, TESTO
SECONDA RIGA: TUTTO TESTO SU 3 COLONNE (mi pare gli si possa dare più colonne ad uno stesso Widget)
TERZA RIGA: COLONNA VUOTA, TESTO, COLONNA VUOTA
QUARTA RIGA: COLONNA VUOTA, BOTTONE, COLONNA VUOTA
QUINTA RIGA: LOGO, COLONNA VUOTA, LOGO
SESTA RIGA: TUTTO TESTO SU 3 COLONNE

Parere? Però come impostazione mi pare molto molto simile alla struttura fatta usando più LinearLayout uno sotto l'altro dentro un LinearLayout contenitore...o mi sfugge qualcosa o booo

Parere?

Scusa se faccio tante domande ma vorrei partire con il piede giusto :-)

Tnx
Andrea

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Consiglio su come realizzare un layout
« Risposta #3 il: 12 Agosto 2011, 17:27:25 CEST »
0
Tutte le volte che ho provato ad usare un TableLayout, alla fine sono tornato al LinearLayout. Il mio quindi è un parere di parte.  :-)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline AndreaNobili

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
Re:Consiglio su come realizzare un layout
« Risposta #4 il: 12 Agosto 2011, 17:30:46 CEST »
0
Tutte le volte che ho provato ad usare un TableLayout, alla fine sono tornato al LinearLayout. Il mio quindi è un parere di parte.  :-)

Doh...ma perchè ti dà problemi o perchè ti ci trovi meglio te?

Comunque è una mia impressione o il TableLayout è un'estensione facilmente simulabile con una serie di LinearLayout a cascata?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Consiglio su come realizzare un layout
« Risposta #5 il: 12 Agosto 2011, 17:37:07 CEST »
0
non ho letto il tuo post per problemi di tempistiche, ma io userei un relative layout...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline AndreaNobili

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
Re:Consiglio su come realizzare un layout
« Risposta #6 il: 12 Agosto 2011, 17:39:10 CEST »
0
non ho letto il tuo post per problemi di tempistiche, ma io userei un relative layout...

mmm perchè un relative? tra tutti sono quelli che mi stanno più antipatici =)

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Consiglio su come realizzare un layout
« Risposta #7 il: 12 Agosto 2011, 20:38:30 CEST »
0
mmm perchè un relative? tra tutti sono quelli che mi stanno più antipatici =)
xke la pesantezza di un layout è data dalla gerarchia di layout che hai.
per far quello che vuoi ci vuole un
linear layout verticale
-linear layout orizzontale
 --i due layout
-linearLayoutOrizzontale
ecc--

con un relative hai
relative layout
-layout1
-layout2
-seconda riga

hai gia una gerarchia in meno...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline AndreaNobili

  • Utente junior
  • **
  • Post: 75
  • Respect: 0
    • Mostra profilo
Re:Consiglio su come realizzare un layout
« Risposta #8 il: 12 Agosto 2011, 20:43:40 CEST »
0
Ok ho iniziato a lavorarci su ma onestamente sono molto dubioso su ciò che ho fatto (nel senso che sono dubbioso su come poi si visualizzerà sui vari dispositivi...)

Per ora ho inserito solo la prima riga dello schema fatto precedentemente:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
   
  <TableLayout
          android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tableLayout">
       
        <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/firstRow">
               
                <ImageView android:id="@+id/imageView"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:src="@drawable/logo"
                android:paddingRight="20dp">
            </ImageView>
           
            <TextView
                        android:layout_width="200dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:textSize="12sp"
                        android:text="@string/app_description">       
                </TextView>
               
        </TableRow>
       
</TableLayout>

La prima colonna mostra l'immagine di logo mentre la seconda colonna mostra il testo collegato alla stringa con chiave app_description...

L'immagine di logo era troppo grande per la visualizzazione: 346 in larghezza e 346 in altezza così gli ho detto che deve misurare 120dp in larghezza ed in altezza...

Ho molti dubbi che però questo sia un modo intelligente di fare questa cosa perchè temo che possa vedersi male con schermi di dimensioni e densità diverse da quello dell'emulatore dove la stò testando (attualmente impostato su Abstract LCD Density: 160)

Mi potete dire se va bene o se ho sbagliato approccio? (purtroppo queste informazioni non riesco a trovarle sul manuale di Carli ne online...)
Qualche consiglio su come fare?

Inoltre quali sono le coppie: dimensioni schermo\ densità schermo che sarebbe il caso di testare accuratamente?

Ancora grazie mille
Andrea

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Consiglio su come realizzare un layout
« Risposta #9 il: 14 Agosto 2011, 16:53:32 CEST »
0
Tutte le volte che ho provato ad usare un TableLayout, alla fine sono tornato al LinearLayout. Il mio quindi è un parere di parte.  :-)
Caspita , anche io !!! :-P
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .

Offline avsoft

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    Windows 8
Re:Consiglio su come realizzare un layout
« Risposta #10 il: 19 Agosto 2011, 12:47:45 CEST »
0
I TableLayout mi ricordano tanto le odiatissime <table> html!
Sono sconsigliate nella programmazione web, credo che anche in questo caso sia meglio utilizzare altri tipi di oggetti per definire un layout per una activity.