Autore Topic: layout non "prendono" la dimensione corretta  (Letto 362 volte)

Offline aw4y

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung i5500
  • Sistema operativo:
    osx/linux
layout non "prendono" la dimensione corretta
« il: 29 Agosto 2013, 11:38:20 CEST »
0
il mio problema: in una schermata, dati N prodotti ciascuno con un layout, vorrei fossero visualizzati "al massimo" della dimensione in altezza: ovvero se ho 3 prodotti, ogni layout relativo a un prodotto dovrebbe prendere 1/3 dello schermo in altezza. se 4 prodotti, ciascuno 1/4 in altezza e via dicendo.

per fare questo ho creato un layout principale - linearlayout con orientation vertical - e poi a runtime, in base ai dati, con un inflater aggiungo dei relativeLayout, uno per ogni prodotto.

risultato: il primo prende tutto lo spazio possibile, gli altri non si visualizzano.

ho provato con weight e weightsum ma non va, ho letto che coi relativelayout non funzionano: ho provato cambiando il relative in linear ma non cambia.

altre idee? grazie!

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:layout non "prendono" la dimensione corretta
« Risposta #1 il: 29 Agosto 2013, 11:53:51 CEST »
0
Una domanda: come è impostato il layout_height?
(quando si usa il weight spesso conviene mettere height a 0dp).

Altra possibile strada da seguire: immagino che il numero massimo di prodotti visualizzabili in una schermata sia limitato, supponiamo che sia non più di 8. Potresti piazzare staticamente nel layout 8 prodotti, ciascuno dei quali usa il weight, però attivando solo quelli che ti servono (gli altri con visibility GONE, così non occupano spazio).
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline aw4y

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung i5500
  • Sistema operativo:
    osx/linux
Re:layout non "prendono" la dimensione corretta
« Risposta #2 il: 29 Agosto 2013, 11:58:18 CEST »
+1
ho risolto con i weight, il problema era che il weightSum del layout principale non veniva "riconosciuto".

e' bastato fare cosi:

mainLayout.addView(vi, new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 0, product.size()));

ed e' andata!

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:layout non "prendono" la dimensione corretta
« Risposta #3 il: 29 Agosto 2013, 12:35:01 CEST »
0
Grazie mille :) anche a me era successo con la mia vecchia app ;)
Chi non progetta la sicurezza , programma il fallimento! K.M