Autore Topic: LinearLayout divisa al 50% con 2 elementi  (Letto 606 volte)

Offline unit1

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 64bit
LinearLayout divisa al 50% con 2 elementi
« il: 28 Aprile 2013, 11:21:39 CEST »
0
Salve,

Volevo dividere lo spazio disponibile fra due elementi disposti orizzontalmente uso sopra l'altro. Quindi ognuno degli elementi deve prendere il 50 % dello spazio disponibile.

Codice (XML): [Seleziona]
        <FrameLayout
           android:layout_width="fill_parent"
           android:layout_height="fill_parent" >

            <LinearLayout
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:layout_gravity="top"
               android:orientation="vertical" >

                <EditText
                   android:id="@+id/messageText"
                   android:layout_width="fill_parent"
                   android:layout_height="200dp"
                   android:layout_gravity="top"
                   android:ems="10"
                   android:gravity="top|left" />

                <ListView
                   android:id="@+id/messList"
                   android:layout_width="fill_parent"
                   android:layout_height="fill_parent" >
                </ListView>

            </LinearLayout>

        </FrameLayout>

Coma posso fare o cosa devo mettere al posto di quel "200dp" per far si che si dividano lo spazio equamente?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:LinearLayout divisa al 50% con 2 elementi
« Risposta #1 il: 28 Aprile 2013, 12:11:58 CEST »
0
A ciascuno dei due devi dare layout_height="0dip" e layout_weight="1".

In questo modo il sistema calcola automaticamente l'altezza da dare ai due elementi.

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:LinearLayout divisa al 50% con 2 elementi
« Risposta #2 il: 28 Aprile 2013, 12:44:22 CEST »
+1
o con modi meno "puliti" io inserisco un img di 1 pixel trasparente, e la posizionio al centro dell'immagine , dopo di che metto le due immagini una sopra e l'altra sotto (ovviamente in un relative layout)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:LinearLayout divisa al 50% con 2 elementi
« Risposta #3 il: 28 Aprile 2013, 14:56:18 CEST »
+1
o con modi meno "puliti" io inserisco un img di 1 pixel trasparente, e la posizionio al centro dell'immagine , dopo di che metto le due immagini una sopra e l'altra sotto (ovviamente in un relative layout)
Questo non ti assicura che le view riempiano tutto lo spazio disponibile. Il metodo corretto é quello proposto da Ricky. In quel modo, le view si dividono lo spazio proporzionalmente.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline unit1

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 64bit
Re:LinearLayout divisa al 50% con 2 elementi
« Risposta #4 il: 28 Aprile 2013, 15:08:18 CEST »
0
A ciascuno dei due devi dare layout_height="0dip" e layout_weight="1".

In questo modo il sistema calcola automaticamente l'altezza da dare ai due elementi.

Non funziona, dice che 1 non ha unità di misura e 0 non è visibile.

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:LinearLayout divisa al 50% con 2 elementi
« Risposta #5 il: 28 Aprile 2013, 15:20:31 CEST »
0
Attenzione, é layout_weight non layout_width.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:LinearLayout divisa al 50% con 2 elementi
« Risposta #6 il: 28 Aprile 2013, 15:57:37 CEST »
+1
Attenzione, é layout_weight non layout_width.

Esatto, e inoltre tira via il FrameLayout che è inutile.

Offline unit1

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 12.04 64bit
Re:LinearLayout divisa al 50% con 2 elementi
« Risposta #7 il: 28 Aprile 2013, 21:21:59 CEST »
0
Ok, perfetto funziona.
Grazie 1000!