2012-09-01 11 views
7

Sono nuovo ad Android. Ho letto di DP ma sono ancora confuso. In una definizione si dice- dp (pixel indipendenti dalla densità): un'unità astratta basata sulla densità dello schermo. Su un display con 160 punti per pollice, 1 dpi = 1 pixel.android la definizione di pixel indipendenti dalla densità

vuol dire- 160 punti = 1 dp = 1 px (ogni punto è 1 pixel, giusto?) OR 1 dp = 1 punto (pixel) tra i 160 puntini

Motivi chiarire

+1

[questo] (http://stackoverflow.com/q/2025282/1465828) dovrebbe rispondere alla tua domanda – Aprian

risposta

14

pixel indipendenti dalla densità è un'unità di pixel virtuale che è necessario utilizzare per definire il layout dell'interfaccia utente, per esprimere le dimensioni del layout o la posizione in modo indipendente dalla densità.

Il pixel indipendente dalla densità è equivalente a un pixel fisico su uno schermo da 160 dpi, che è la densità di base assunta dal sistema per uno schermo a densità "media". In fase di esecuzione, il sistema gestisce in modo trasparente qualsiasi ridimensionamento delle unità dp, in base alle necessità, in base alla densità effettiva dello schermo in uso. La conversione di unità dp per schermare pixel è semplice:

px = dp * (dpi/160)

Ad esempio, su uno schermo dpi 240, 1 dp uguale a 1,5 pixel fisici. Dovresti sempre utilizzare le unità dp quando definisci l'interfaccia utente della tua applicazione, per garantire la corretta visualizzazione dell'interfaccia utente su schermi con densità diverse.

Per schermo da 160 dpi 1 dp è uguale a 1 px.

Consultare il blog this e la risposta this.

0

La documentazione di Android dice -

Il pixel indipendente dalla densità è equivalente a un pixel fisico su uno schermo da 160 dpi, la densità di base assunta dalla piattaforma (come descritto più avanti in questo documento). In fase di esecuzione, la piattaforma gestisce in modo trasparente qualsiasi ridimensionamento delle unità dp necessarie, in base alla densità effettiva dello schermo in uso. La conversione delle unità dp in pixel dello schermo è semplice: pixel = dps * (densità/160). Ad esempio, sullo schermo a 240 dpi, 1 dp equivale a 1,5 pixel fisici. Si consiglia vivamente l'uso di unità dp per definire l'interfaccia utente della propria applicazione, in modo da garantire la corretta visualizzazione dell'interfaccia utente su schermi diversi.

potete dare un'occhiata allo supporting multiple screens. potresti anche dare un'occhiata a questo question.

+0

cosa è DOT in punto per pollice, presumo 1 punto = 1 px, è giusto? Questa riga confonde me - un pixel fisico su uno schermo da 160 dpi, dove si dice di nuovo: su uno schermo da 240 dpi, 1 dp equivale a 1,5 pixel fisici. come mai 1 dp sarebbe uguale a 1.5 pixel fisici qui .. – Tanvir

Problemi correlati