Autore Topic: Primo layout..help...  (Letto 643 volte)

Offline Pacobillo

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus one
  • Sistema operativo:
    Windows 7
Primo layout..help...
« il: 08 Settembre 2013, 12:49:54 CEST »
0
Ciao a tutti!!!!
Sto imparando a creare i miei primi layout.....ed ho i miei primi dubbi... :)
Potete aiutarmi?
Sono davvero novizio, eh...
Come prima cosa ecco il codice:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@color/Arancione"
   android:padding="5dp"
   android:stretchColumns="1,2,3" >
    <TableRow
       android:id="@+id/rowIntestazione"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:paddingBottom="30dp" >

        <ImageView
           android:id="@+id/imageView1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="center_horizontal"
           android:layout_weight="1"
           android:contentDescription="@string/todo"
           android:gravity="center_horizontal"
           android:src="@drawable/logo" />

    </TableRow>

    <TableRow
       android:id="@+id/rowChiSiamo"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:padding="10dp" >

        <Button
           android:id="@+id/ChiSiamo"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:layout_gravity="center_horizontal"
           android:layout_weight="1"
           android:background="@drawable/pulsante"
           android:gravity="center_horizontal"
           android:minWidth="200dp"
           android:text="@string/chi_siamo"
           android:textSize="30sp"
           android:textStyle="bold" />

    </TableRow>

    <TableRow
       android:id="@+id/rowLudoteca"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="10dp" >

        <Button
           android:id="@+id/Ludoteca"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="center_horizontal"
           android:layout_weight="1"
           android:background="@drawable/pulsante"
           android:minWidth="200dp"
           android:text="@string/ludoteca"
           android:textSize="30sp"
           android:textStyle="bold" />

    </TableRow>

    <TableRow
       android:id="@+id/rowPisacon"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="10dp" >

        <Button
           android:id="@+id/Pisacon"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="center_horizontal"
           android:layout_weight="1"
           android:background="@drawable/pulsante"
           android:minWidth="200dp"
           android:text="@string/pisacon"
           android:textSize="30sp"
           android:textStyle="bold" />

    </TableRow>

    <TableRow
       android:id="@+id/rowFooter"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:padding="5dp" >

        <TextView
           android:id="@+id/Footer"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="bottom|center_horizontal"
           android:text="@string/footer"
           android:textColor="@color/Nero"
           android:textSize="12sp"
           android:textStyle="bold" />

    </TableRow>

</TableLayout>

Ed ora ecco i dubbi...

1) Le drawable... ldpi,hdpi,ecc..ecc...
Come faccio a sapere quale effettivamente usa ogni dispositivo? Ovvero un optimus one userà un mdpi? o un ldpi? E un nexus?
Insomma ho un pò di confusione...
E poi, cosa alla fine più importante, che dimensioni massime devono avere le immagini di ogni cartella drawable? Ovvero, voi scegliete una bella immagine, poi che fate? La ridimensionate e salvate 5 volte, una per ogni cartella? E con quali risoluzioni?

2) I pulsanti. E' giusto come ho fatto, ovvero impostare una dimensione minima per la larghezza per evitare che abbiano dimensioni diverse, oppure è un modo sbagliato di operare?

3) Lo scroll. Se giro il dispositivo, il tutto non si ridimensiona (è giusto?) ma non riesco a scrollare verso il basso...vedo solo il primo pulsante e mezzo e non riesco ad accedere agli altri. Cosa mi manca?

4) Il ridimensionamento sui vari dispositivi. Secondo voi sto sbagliando qualcosa per quanto riguarda l'adattabilità dell'app su tutti i dispositivi, dai tablet ai cellulari microscopici? Qualche istruzione decisamente sbagliata?

Grazie a tutti voi già da ora per l'aiuto che mi potrete dare, sono davvero alle prime ore di sviluppo.. :)
Grazie



Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Primo layout..help...
« Risposta #1 il: 08 Settembre 2013, 20:06:56 CEST »
+1
Vieni dalla vecchia scuola html che usi le tabelle per creare i layout:)? Puoi farlo anche qui ma puoi costruire il layout in maniera + semplice. Inizio a risponderti alle domande che hai posto:

Citazione
1) Le drawable... ldpi,hdpi,ecc..ecc...
Come faccio a sapere quale effettivamente usa ogni dispositivo? Ovvero un optimus one userà un mdpi? o un ldpi? E un nexus?
Insomma ho un pò di confusione...
E poi, cosa alla fine più importante, che dimensioni massime devono avere le immagini di ogni cartella drawable? Ovvero, voi scegliete una bella immagine, poi che fate? La ridimensionate e salvate 5 volte, una per ogni cartella? E con quali risoluzioni?

Per garantire la migliore esperienza utente, android ti da la possibilità di utilizzare le stesse immagini a diversa risoluzione a seconda del dispositivo sul quale l'utente ha istallato la tua applicazione. Infatti nel tuo progetto android avrai diverse cartelle nella cartella delle risorse (dove tieni tutte le tue immagini, layout etc) avrai la cartella base drawable + cartelle (se non ce l'hai le crei) denominate drawable-ldpi, drawable-hdpi. Quando viene l'anciata l'applicazione, android riconosce se il dispositivo ad esempio ha una risoluzione hdpi o ldpi e a seconda del tipo andrà a prelevare (se c'è) la risorsa nella cartella corrispondente. Se non la trova la va a cercare nella cartella, nel nostro caso, drawable. Se l'immagine che hai nella cartella drawable-mdpi è di 100dpi*100dpi, la stessa immagine nella ldpi sarà 75dpi*75dpi. In questo modo, sia se utilizzi un telefono con un display ldpi che mdpi, le dimensioni dell'immagine è la stessa su entrambi. Dai uno sguardo qui : http://developer.android.com/training/multiscreen/index.html.

Citazione
2) I pulsanti. E' giusto come ho fatto, ovvero impostare una dimensione minima per la larghezza per evitare che abbiano dimensioni diverse, oppure è un modo sbagliato di operare?

Non c'è una verità assoluta su come operare, dipende da quello che devi fare.

Citazione
3) Lo scroll. Se giro il dispositivo, il tutto non si ridimensiona (è giusto?) ma non riesco a scrollare verso il basso...vedo solo il primo pulsante e mezzo e non riesco ad accedere agli altri. Cosa mi manca?

di solito si disegnano due layout (se la tua applicazione prevede entrambe le modalità landscape e portrait). Guarda qui: http://developer.android.com/guide/practices/screens_support.html

Offline Pacobillo

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus one
  • Sistema operativo:
    Windows 7
Re:Primo layout..help...
« Risposta #2 il: 09 Settembre 2013, 13:50:21 CEST »
0
Ciao e come prima cosa, grazie per la risposta!!
Alcune dubbi però mi sono rimasti:

1) Si, forse in questo caso un linear layout era preferibile, ma ho pensato che il tablelayout fosse il più..adattabile a tutte le necessità. Sbagliavo? Tu cosa mi avresti consigliato?

2) Grazie per l'informazione sul doppio layout landscape\portrait, davvero utile, ma mi sfugge comunque una cosa...io pensavo che lo scroll su un dispositivo fosse automatico se gli elementi vanno oltre il bordo del dispositivo, invece non è così....Se io, così per studio, volessi tenere lo stesso layout e far si che con il dito possa scrollare in basso per vedere il resto dei componenti, come dovrei fare? Esiste una proprietà da impostare? Devo inserire un elemento scroll? Questo non mi è chiaro...

Grazie ancora per il tuo aiuto!
Roberto

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Primo layout..help...
« Risposta #3 il: 09 Settembre 2013, 16:48:19 CEST »
0
Non è che ci sia un modo unico per fare i layout, dipende da te. Se devi ad esempio costruire un layout con header,content e footer puoi pensare di fare ad esempio puoi usare un Linearlayout con orientamento verticale e 3 relativeLayout al suo interno che rappresentano rispettivamente header, content o footer. Oppure puoi usare solo Un relativeLayout e all'interno ci metti altri 3 relativeLayout che a loro volta possono contenere altri layout..dipende dagli elementi che devi rappresentare. Lo scroll non è automatico. Se pensi che il contenuto sia + grande del display devi mettere il tuo layout dentro una scrollview. Ricorda che subito dopo la scroll view devi mettere un RelativeLayout o un LinearLayout e poi al loro interno ci metto il tuo contenuto. Questo perchè la scrollview può avere solo un layout figlio.

Offline crbin1

  • Utente junior
  • **
  • Post: 61
  • Respect: +6
    • labeltodo
    • Mostra profilo
    • Do Androids Dream of Electric Sheep?
  • Dispositivo Android:
    Galaxy Nexus
Re:Primo layout..help...
« Risposta #4 il: 09 Settembre 2013, 17:13:24 CEST »
0
Alcuni oggetti, come per esempio la ListView ha lo scorrimento automatico, altrimenti puoi inserire la parte del tuo layout che deve scorrere dentro una ScrollView

Offline Pacobillo

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus one
  • Sistema operativo:
    Windows 7
Re:Primo layout..help...
« Risposta #5 il: 10 Settembre 2013, 00:18:42 CEST »
0
Grazie ragazzi, mi avete aiutato tantissimo!
Adesso questi problemi sono chiariti, a presto con i prossimi!! :)

Grazie ancora....
Roberto

Offline elfo83

  • Utente normale
  • ***
  • Post: 287
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Primo layout..help...
« Risposta #6 il: 10 Settembre 2013, 02:40:48 CEST »
0
figurati