Autore Topic: dubbio sui dpi  (Letto 1452 volte)

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
dubbio sui dpi
« il: 06 Maggio 2012, 22:51:19 CEST »
0
ragazzi mi è venuto un grosso dubbio e con l'emulatore non riesco a ottenere risposte..
in pratica le dimensioni degli schermi sono:
-small
-normal
-large
-xlarge

e i possibili dpi sono:
-ldpi
-mdpi
-hdpi
-xhdpi

ora sto preparando il layout per la mia nuova app, ma mi trovo in difficoltà perchè ho questo dubbio:
- gli schermi small,large.e xlarge possono avere qualsiasi tipo di dpi oppure per ogni dimensione di schermo ci sono alcuni tipi di dpi che non possono esistere?
ho dato un'occhiata ai samsung s,s2 e tab e lg optimus black..e ho visto che tutti e tre utilizzano mdpi..
quali dispositivi utilizzano hdpi e xhdpi? cosi me li guardo e posso provare a emularli avendo i dati precisi..

da questo schema :

mi sembra di capire per esempio che gli small (240x320) possono essere solo ldpi , e invece se sono small (480x640) possono essere solo hdpi...la sto interpretando nel modo corretto?
« Ultima modifica: 07 Maggio 2012, 02:09:05 CEST da frecciak »
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

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:dubbio sui dpi
« Risposta #1 il: 07 Maggio 2012, 18:37:13 CEST »
0
Non so bene come rispondere alla tua domanda. Però ti posso dire l'idea che mi sono fatto io del panorama di risoluzioni/dimensioni.

Da questa pagina (
      Android Design - Metrics and Grids
   
) mi sono reso conto che le dimensioni di tutti i display in termini di DP sono molto poche. Per cui cercando di lavorare sempre con i dp, le casistiche dovrebbero ridursi notevolmente (almeno spero).



In pratica io mi sono fatto l'idea che potrebbe bastare fare due tipologie di layout distinte: quella per gli smartphone e quella per i tablet, da distinguere con il qualifier sw600dp (smallest width 600dp).

Supporting Multiple Screens | Android Developers
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:dubbio sui dpi
« Risposta #2 il: 07 Maggio 2012, 18:48:14 CEST »
0
purtroppo il problema con cui mi sto scontrando è più incasinato :(
in pratica ho un layout-small con 4 immagini poste una sopra all'altra sul lato sinistro dello schermo, per renderlo compatibile con ldpi,mdpi etc ho creato le 4 immagini diverse seguendo questre misure:
-ldpi 75%
-mdpi 100%
-hdpi 150%
-xhdpi 200%

poi quando le metto nel layout le imposto per esempio a 30dp, ma in questo modo mi modifica le dimensioni delle immagini negli emulatori..e in quelli con dpi piu alti mi ritrovo le immagini sovrapposte..
per il momento l'unico modo che ho trovato in cui mi mantiene le dimensioni esatte, è utilizzare come dimensione delle immagini 30px invece che 30dp..utilizzando i px le immagini risultano perfette in tutti e 4 i tipi di dpi, ma leggo ovunque che è ultra sconsigliato utilizzare i px :(
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

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:dubbio sui dpi
« Risposta #3 il: 07 Maggio 2012, 18:53:56 CEST »
0
poi quando le metto nel layout le imposto per esempio a 30dp, ma in questo modo mi modifica le dimensioni delle immagini negli emulatori..e in quelli con dpi piu alti mi ritrovo le immagini sovrapposte..

Non riesco a capire la problematica senza un esempio. Però potrebbe essere solo una questione di posizionamento.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:dubbio sui dpi
« Risposta #4 il: 07 Maggio 2012, 19:45:22 CEST »
0
ti ho fatto un'immagine per farti capire il problema..basati solo sul tasto exit,il tasto hide,il tasto show e il tasto rotondo..perchè il resto è ancora da sistemare.
in questo esempio le immagini nelle varie cartelle sono fatte seguendo :
-ldpi 75%
-mdpi 100%
-hdpi 150%
-xhdpi 200%
quindi prendendo come esempio l'immagine exit, ho fatto:
-una immagine 40*26 e la ho messa nella cartella drawable-ldpi
-una immagine 53*34 e la ho messa nella cartella drawable-mdpi
-una immagine 80*51 e la ho messa nella cartella drawable-hdpi
-una immagine 106*68 e la ho messa nella cartella drawable-xhdpi

e sono posizionate nel layout principale utilizzando wrap_content sia per altezza che larghezza (ma anche mettendo dimensioni fisse come per esempio height 30dp e width 50dp non cambia nulla).
come vedi nell'emulatore a 120dpi va abbastanza bene, anche se risultano un po troppo piccole..nell'emulatore a 160dpi è esattamente quello che sto cercando di fare, mentre negli altri 2 è un casino perchè le immagini risultano troppo grosse..
« Ultima modifica: 07 Maggio 2012, 19:56:48 CEST da frecciak »
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

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:dubbio sui dpi
« Risposta #5 il: 07 Maggio 2012, 20:31:19 CEST »
0
Puoi postare l'XML del layout di questa interfaccia? Per rendermi conto della problematica a livello di codice.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:dubbio sui dpi
« Risposta #6 il: 07 Maggio 2012, 20:38:04 CEST »
0
eccolo:
le immagini di cui parlavo sono:
-btexit
-btshow
-bthide
-btfoto

poi ce ne sono 2 sotto che sono invisibili e sono:
-btframe
-ruota
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >





        <ImageView
           android:id="@+id/base"
           android:layout_width="fill_parent"
           android:layout_height="30px"
           android:layout_alignParentBottom="true"
           android:layout_alignParentLeft="true"
           android:scaleType="fitXY"
           android:src="@drawable/base" />
   

    <ImageView
       android:id="@+id/sinistra"
       android:layout_width="40px"
       android:layout_height="fill_parent"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="20dp"
       android:scaleType="fitXY"
       android:src="@drawable/sinistra"/>


    <ImageView
       android:id="@+id/destra"
       android:layout_width="40px"
       android:layout_height="fill_parent"
       android:layout_alignParentRight="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="20dp"
       android:scaleType="fitXY"
       android:src="@drawable/destra" />

    <ImageView
       android:id="@+id/alto"
       android:layout_width="fill_parent"
       android:layout_height="40px"
       android:layout_alignParentTop="true"
       android:layout_centerHorizontal="true"
       android:src="@drawable/alto"
       android:scaleType="fitXY"/>



    <ImageView
       android:id="@+id/btexit"
       android:layout_width="50dp"
       android:layout_height="30dp"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:src="@drawable/exit"/>

    <ImageView
       android:id="@+id/btsalva"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentRight="true"
       android:layout_alignParentTop="true"
       android:src="@drawable/salva"
       android:visibility="invisible"/>

    <ImageView
       android:id="@+id/ruota"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:src="@drawable/ruota1"
       android:layout_marginBottom="5dp"
       android:visibility="invisible"
       android:layout_marginLeft="10dp"/>



    <ImageView
       android:id="@+id/btshow"
       android:layout_width="25dp"
       android:layout_height="60dp"
       android:layout_alignParentLeft="true"
       android:layout_below="@+id/btexit"
       android:layout_marginTop="10dp"
       android:src="@drawable/show" />



<ImageView
   android:id="@+id/bthide"
   android:layout_width="25dp"
   android:layout_height="60dp"
   android:layout_alignParentLeft="true"
   android:layout_below="@+id/btshow"
   android:src="@drawable/hide" android:layout_marginTop="5dp"/>

    <ImageView
       android:id="@+id/btframe"
       android:layout_width="40dp"
       android:layout_height="40dp"
       android:src="@drawable/frame"
       android:layout_marginBottom="15dp"
       android:visibility="invisible"
       android:layout_above="@id/base"/>
<ImageView
       android:id="@+id/btfoto"
       android:layout_width="40dp"
       android:layout_height="40dp"
       android:src="@drawable/foto"
       android:layout_marginBottom="10dp"
       android:layout_above="@id/btframe"/>





</RelativeLayout>
« Ultima modifica: 07 Maggio 2012, 21:08:52 CEST da frecciak »
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

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:dubbio sui dpi
« Risposta #7 il: 07 Maggio 2012, 21:07:58 CEST »
+1
Effettivamente sono abbastanza stupito. Perchè dichiarando le dimensioni in dp, esempio EXIT...

Codice (XML): [Seleziona]
    <ImageView
      android:id="@+id/btexit"
      android:layout_width="50dp"
      android:layout_height="30dp"
      android:layout_alignParentLeft="true"
      android:layout_alignParentTop="true"
      android:src="@drawable/exit"/>

...dovrebbe risultare di dimensioni molto simili in tutti e 4 i casi. Molto strano.  ???
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:dubbio sui dpi
« Risposta #8 il: 07 Maggio 2012, 21:13:30 CEST »
0
infatti..ci sono sopra da 2 giorni..seguendo le varie teorie che ho letto in giro e sul sito dell'sdk dovrebbe essere cosi..
invece come hai visto nell'immagine si incasina tutto..
a sto punto???
uso i px che sono cosi sconsigliati???
non so proprio dove sbattere la testa..mi è persino venuto il dubbio che si sia incasinato il mio eclipse...

ma la cosa che non capisco  proprio è perchè sia sconsigliato utilizzare i px..visto che alla fine quello è realmente l'unico modo che mi rende le immagine identiche con tutti e 4 i tipi di dpi..dopotutto i pixel son sempre quelli, sia inportrait che landscape..quindi non vedo come possano deformare l'immagine..
« Ultima modifica: 07 Maggio 2012, 21:19:02 CEST da frecciak »
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

jfrankie

  • Visitatore
Re:dubbio sui dpi
« Risposta #9 il: 18 Maggio 2012, 09:44:13 CEST »
0
Ho avuto anche io sempre un po' di problemi con i layout.
Da quello che ho capito guardando in giro è che è consigliabile utilizzare i dp che una unità indipendente dalla densità. Il SO poi adatta i dp ai reali dpi dello schermo del cellulare.

Leggendo i tuoi post ho visto che specifichi le dimensioni delle immagini e il rapporto tra loro.
Secondo me non devi scalare sulle dimensioni ma sui dpi e quindi le dimensioni vengono settate di conseguenza.
Cioè fai un'immagine grande di riferimento (es 160 dpi) e poi la salvi in 120dpi 160dpi 240dpi 320dpi le dimensioni saranno impostate di conseguenza.
Io per fare questo uso Inkscape e salvo settando i dpi e non le dimensioni.

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:dubbio sui dpi
« Risposta #10 il: 18 Maggio 2012, 16:45:05 CEST »
0
alla fine penso di aver capito il modo per testare piu o meno tutti i layout..
purtroppo il mio inglese è basilare, quindi a volte capisco una cosa per l'altra :D
però cercando di capire bene quello che dice qua :http://developer.android.com/guide/practices/screens_support.html    alla voce "How to Test Your Application on Multiple Screens"
mi sembra di capire che testando quelli della tabella, si riesce a testare tutti i tipi di terminali..

ora mi servirebbe un'info se la avete..quale smartphone ha come risoluzione 600x1024 con screen normal e hdpi?
e quale invece ha 600x1024 con screen large e mdpi? non riesco a trovarne con queste caratteristiche :(
« Ultima modifica: 18 Maggio 2012, 16:48:24 CEST da frecciak »
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!

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:dubbio sui dpi
« Risposta #11 il: 18 Maggio 2012, 18:16:29 CEST »
+1
alla fine penso di aver capito il modo per testare piu o meno tutti i layout..
purtroppo il mio inglese è basilare, quindi a volte capisco una cosa per l'altra :D
però cercando di capire bene quello che dice qua :http://developer.android.com/guide/practices/screens_support.html    alla voce "How to Test Your Application on Multiple Screens"
mi sembra di capire che testando quelli della tabella, si riesce a testare tutti i tipi di terminali..

ora mi servirebbe un'info se la avete..quale smartphone ha come risoluzione 600x1024 con screen normal e hdpi?
e quale invece ha 600x1024 con screen large e mdpi? non riesco a trovarne con queste caratteristiche :(

Con quelle caratteristiche ci sono dei tablet, tipo il primo Galaxy Tab
Postate il LogCat LogCat LogCat LogCat LogCat

Offline frecciak

  • Utente normale
  • ***
  • Post: 231
  • Respect: +16
    • Mostra profilo
  • Dispositivo Android:
    galaxy s
  • Sistema operativo:
    windows 7
Re:dubbio sui dpi
« Risposta #12 il: 18 Maggio 2012, 19:31:58 CEST »
0
Ah ecco..grazie mille..
Se le risposte ti hanno aiutato, metti un ..a te non costa nulla, ma a chi ti ha aiutato fa molto piacere riceverlo!!