Autore Topic: gestire varia risoluzioni  (Letto 1775 volte)

marco1991

  • Visitatore
gestire varia risoluzioni
« il: 24 Luglio 2012, 13:11:42 CEST »
0
salve a tutti,
sto sviluppando un applicazione e tutta la UI è basata sulla risoluzione 800x480 (galaxy II), però se vado a farla girare su un 480x320 il tutto diventa molto scalettato e fastidioso..il libro che sto leggendo diceva solo che android auto-gestisce tutte le risoluzioni ma evidentemente lo fa male..

mi sono letto questo articolo http://android.devapp.it/20-000-risoluzioni-sotto-android-adattiamo-la-grafica-delle-nostre-applicazioni-a-tutti-i-display-esistenti
e parla delle varia cartelle all'interno di "res"..il problema è che io uso la cartella "Assets" come deposito delle immagini (come era proposto dal libro) e quindi come posso fare?


grazie a tutti!

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:gestire varia risoluzioni
« Risposta #1 il: 24 Luglio 2012, 13:39:07 CEST »
0
salve a tutti,
sto sviluppando un applicazione e tutta la UI è basata sulla risoluzione 800x480 (galaxy II), però se vado a farla girare su un 480x320 il tutto diventa molto scalettato e fastidioso..il libro che sto leggendo diceva solo che android auto-gestisce tutte le risoluzioni ma evidentemente lo fa male..

mi sono letto questo articolo http://android.devapp.it/20-000-risoluzioni-sotto-android-adattiamo-la-grafica-delle-nostre-applicazioni-a-tutti-i-display-esistenti
e parla delle varia cartelle all'interno di "res"..il problema è che io uso la cartella "Assets" come deposito delle immagini (come era proposto dal libro) e quindi come posso fare?


grazie a tutti!

puoi iniziare ad usare la cartella res :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 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:gestire varia risoluzioni
« Risposta #2 il: 24 Luglio 2012, 13:44:23 CEST »
0
salve a tutti,
sto sviluppando un applicazione e tutta la UI è basata sulla risoluzione 800x480 (galaxy II), però se vado a farla girare su un 480x320 il tutto diventa molto scalettato e fastidioso..il libro che sto leggendo diceva solo che android auto-gestisce tutte le risoluzioni ma evidentemente lo fa male..

mi sono letto questo articolo http://android.devapp.it/20-000-risoluzioni-sotto-android-adattiamo-la-grafica-delle-nostre-applicazioni-a-tutti-i-display-esistenti
e parla delle varia cartelle all'interno di "res"..il problema è che io uso la cartella "Assets" come deposito delle immagini (come era proposto dal libro) e quindi come posso fare?

E' vero che android gestisce automaticamente tutte le risoluzioni, ma non vuol dire che lo sviluppatore può fare quello che vuole ed il framewrok fa tutto. Il framework deve essere messo in grado di gestire le risoluzioni in automatico, cioè occorre seguire tutta una serie di regole nella definizione e collocazione degli asset grafici.

In questa pagina del sito ufficiale vengono spiegati vari concetti che devono essere compresi e adottati per sfruttare il citato automatismo.
Supporting Multiple Screens | Android Developers
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

marco1991

  • Visitatore
Re:gestire varia risoluzioni
« Risposta #3 il: 24 Luglio 2012, 15:46:48 CEST »
0
puoi iniziare ad usare la cartella res :D

ma come posso fare? tutto il mio framework è basato sugli Assets Manager

marco1991

  • Visitatore
Re:gestire varia risoluzioni
« Risposta #4 il: 27 Luglio 2012, 11:06:14 CEST »
0
raga mi sono un pò informato, quindi metto nelle varie cartelle con le varie risolzioni le immagini i questo modo:
-small -> per schermi con risoluzione di circa 320x426
-normal -> circa 320x470
-hight -> circa 480x800
-xlarge -> quelle più grandi..

e poi accedo facendo R.drawable.<nome immagine> e android si va a pescare in modo autonomo quale immagine è più adatta.. ma in tutto questo ho un dubbio:


farei g.drawPixmap("nomefile", coordinata x, coordinata y)

però su uno schermo da 320x480 la x sarà 320-grandezza immagine, mentre su uno schermo da 480x800 sarebbe 480-grandezza immagine... siete d'accordo? ma allora dovrei fare un sacco di "if" per tutte le risoluzioni?
« Ultima modifica: 27 Luglio 2012, 11:10:29 CEST da marco1991 »

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:gestire varia risoluzioni
« Risposta #5 il: 27 Luglio 2012, 11:17:33 CEST »
0
Io farei una proporzione...
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:gestire varia risoluzioni
« Risposta #6 il: 27 Luglio 2012, 11:43:48 CEST »
0
Supponiamo che tu voglia posizionare l'immagine al centro dello schermo. Potresti fare:

Codice (Java): [Seleziona]
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int x= display.getWidth()/2;
int y= display.getHeight()/2;
...
g.drawPixmap("nomefile", x - (immagine.width/2), y - (immagine.height/2))
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

jfrankie

  • Visitatore
Re:gestire varia risoluzioni
« Risposta #7 il: 27 Luglio 2012, 14:29:53 CEST »
0

Offline andre9004

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Lg Optimus Hub
  • Sistema operativo:
    Windows 7
Re:gestire varia risoluzioni
« Risposta #8 il: 27 Luglio 2012, 21:07:23 CEST »
0
devi fare diversi template per le diverse risoluzioni con immagini ridimensionate/cambiate in base ad essa...

Offline wlf

  • Utente normale
  • ***
  • Post: 318
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:gestire varia risoluzioni
« Risposta #9 il: 21 Dicembre 2015, 18:27:05 CET »
0
Buongiorno, scusate la domanda, ma per quanto riguarda la risoluzione in dpi bisogna rispettare la massima che è presente sugli smartphone, circa 400dpi?

Perché se faccio generare le icone mi vengono create degli ic_launcher da 972x972 pixel/inch?

A livello di heap memory le immagini vengono caricate in base ai due assi X e Y della grandezza dell'immagine moltiplicato per la densità Z che è data dai pixel/inch?