Autore Topic: Activity con background e 4 icone equidistribuite  (Letto 1288 volte)

Offline Sethi

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung P1000
  • Sistema operativo:
    Mac OS X 10.6.7
Activity con background e 4 icone equidistribuite
« il: 21 Gennaio 2013, 09:47:10 CET »
0
Mi piacerebbe creare un layout che visualizzi un'immagine in modalità full-screen su cui poi siano posizionate 4 icone equidistribuite orizzontalmente e ad altezze differenti.

Sarebbe bello che il tutto sia compatibile poi su qualsiasi risoluzione.

Secondo voi che tipo di layout dovrei usare?

Vi allego un'immagine per farvi capire quello che vorrei fare...

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Activity con background e 4 icone equidistribuite
« Risposta #1 il: 21 Gennaio 2013, 10:09:33 CET »
0
Sono curioso di vedere cosa ti viene suggerito.

Io dico la mia:

ScrollView con all'interno un RelativeLayout con all'interno una ImageView e 4 ImageButton

Adesso aspettate un attimo con le offese, vado a prendere un sacchetto di patatine...  :-P

Offline Sethi

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung P1000
  • Sistema operativo:
    Mac OS X 10.6.7
Re:Activity con background e 4 icone equidistribuite
« Risposta #2 il: 21 Gennaio 2013, 11:22:52 CET »
0
Non mi è molto chiaro il motivo per cui il tutto debba essere all'interno di una ScrollView?

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Activity con background e 4 icone equidistribuite
« Risposta #3 il: 21 Gennaio 2013, 11:27:02 CET »
0
La scrollview puoi non metterla ma allora devi fare lo sfondo considerando una safe area che possa essere tagliata via se l'aspect ratio di un device è differente.  :-(

EDIT:

ti faccio un esempio. il Galaxy s2 è 480x800 un evo 3d è 540x960. Il primo ha aspect ratio 1,66 il secondo 1,77.
Se tu mi fai una immagine di 540x960 e la disegni su un galaxy s2 ti viene una immagine di 480x853. Ovvero ti perdi 53 pixel.

Delle due una:
- stabilisci una safe zone che ti permette di tagliare dei pixel
- devi poter scrollare

Al contrario se tu fai una immagine di 480x800 e la visualizzi su un evo 3d ti viene 540x900. Ti mancano 60 pixel...

In generale "supporting multiple screens" è additata da tutti come la bibbia dei layout android (http://developer.android.com/guide/practices/screens_support.html).
Per me è come la corazzata potemkin di fantozzi, visto che non affronta ne risolve questo semplicissimo problema.

Ma attendo con curiosità di leggere altri pareri, stavo giusto per aprire un topic al riguardo...  :-P
« Ultima modifica: 21 Gennaio 2013, 11:33:33 CET da undead »

Offline Sethi

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung P1000
  • Sistema operativo:
    Mac OS X 10.6.7
Re:Activity con background e 4 icone equidistribuite
« Risposta #4 il: 21 Gennaio 2013, 13:59:03 CET »
0
La scrollview puoi non metterla ma allora devi fare lo sfondo considerando una safe area che possa essere tagliata via se l'aspect ratio di un device è differente.  :-(

EDIT:

ti faccio un esempio. il Galaxy s2 è 480x800 un evo 3d è 540x960. Il primo ha aspect ratio 1,66 il secondo 1,77.
Se tu mi fai una immagine di 540x960 e la disegni su un galaxy s2 ti viene una immagine di 480x853. Ovvero ti perdi 53 pixel.

Delle due una:
- stabilisci una safe zone che ti permette di tagliare dei pixel
- devi poter scrollare

Al contrario se tu fai una immagine di 480x800 e la visualizzi su un evo 3d ti viene 540x900. Ti mancano 60 pixel...

In generale "supporting multiple screens" è additata da tutti come la bibbia dei layout android (http://developer.android.com/guide/practices/screens_support.html).
Per me è come la corazzata potemkin di fantozzi, visto che non affronta ne risolve questo semplicissimo problema.

Ma attendo con curiosità di leggere altri pareri, stavo giusto per aprire un topic al riguardo...  :-P

Ahh scusa ho capito ora cosa intendevi!! Non ti seguivo perchè devo per scontato che il background fosse visualizzato in modalità "stretch"!!

Non mi interessa se verrà un po' distorto a seconda dell'aspect ratio delle varie risoluzioni, quello che mi interessa è che il primo tasto sia centrato nel primo quarto di schermo, il secondo nel secondo quarto, il terzo nel terzo quarto e l'ultimo nell'ultimo quarto di schermo.. Non so se mi sono spiegato

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Activity con background e 4 icone equidistribuite
« Risposta #5 il: 21 Gennaio 2013, 15:20:55 CET »
0
Nella tua activity puoi leggere le dimensioni dello schermo e a quel punto puoi andare a posizionare esattamente al pixel degli imagebutton specificando dimensione e posizione.
Questo funziona il problema è che devi farlo da codice... dai un ID al tuo relative layout lo prendi nella oncreate e poi ci aggiungi quello che ti serve.


Offline Sethi

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung P1000
  • Sistema operativo:
    Mac OS X 10.6.7
Re:Activity con background e 4 icone equidistribuite
« Risposta #6 il: 21 Gennaio 2013, 15:23:24 CET »
0
Nella tua activity puoi leggere le dimensioni dello schermo e a quel punto puoi andare a posizionare esattamente al pixel degli imagebutton specificando dimensione e posizione.
Questo funziona il problema è che devi farlo da codice... dai un ID al tuo relative layout lo prendi nella oncreate e poi ci aggiungi quello che ti serve.

Ah.. ok quindi vado spudoratamente di calcoli sui pixel, ridimensionamenti e posizionamenti ? Il layout di che tipo dovrà essere per poter lavorare in questo modo dato che dovrà avere come riferimento delle coordinate assolute?

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Activity con background e 4 icone equidistribuite
« Risposta #7 il: 21 Gennaio 2013, 15:30:53 CET »
0
Io sono riuscito con RelativeLayout...e purtroppo si... pixel.  :-(

Offline Sethi

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung P1000
  • Sistema operativo:
    Mac OS X 10.6.7
Re:Activity con background e 4 icone equidistribuite
« Risposta #8 il: 22 Gennaio 2013, 09:59:56 CET »
0
Quindi dovrei calcolare la larghezza e altezza delle icone in funzione della risoluzione e poi calcolare anche le posizioni in cui metterle sempre tenendo conto delle proporzioni dello schermo e lavorare sempre in pixel..

Speravo ci fosse una soluzione più "elegante"  :'(

Offline Nicola_D

  • 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:Activity con background e 4 icone equidistribuite
« Risposta #9 il: 22 Gennaio 2013, 10:15:42 CET »
0
Quindi dovrei calcolare la larghezza e altezza delle icone in funzione della risoluzione e poi calcolare anche le posizioni in cui metterle sempre tenendo conto delle proporzioni dello schermo e lavorare sempre in pixel..

Speravo ci fosse una soluzione più "elegante"  :'(
è la soluzione elegante di fare le cose "relative" alla risoluzione e allo schermo, è quello che fa il relative layout sostanzialmente :D
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 undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Activity con background e 4 icone equidistribuite
« Risposta #10 il: 22 Gennaio 2013, 11:10:07 CET »
0
Quoto Nicola_D. Può sembrare strano a prima vista ma se ci rifletti è il modo migliore. ;-)

Offline Sethi

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung P1000
  • Sistema operativo:
    Mac OS X 10.6.7
Re:Activity con background e 4 icone equidistribuite
« Risposta #11 il: 22 Gennaio 2013, 11:19:27 CET »
0
Bene direi che mi devo studiare per bene la documentazione relativa al linearLayout e poi potrò esprimere un'opinione anch'io  :-P

Avete qualche tutorial/link da consigliarmi?