"dp" == "pixel indipendenti dalla densità" (Questo è anche il motivo per cui è stato in precedenza chiamato "dip", anche se io preferisco usare "dp" in questi giorni.)
Pensate a come le altre unità - "in" (pollici), "mm" (millimetri), ecc. Consente di fornire una dimensione che viene ridimensionata in base alla densità dello schermo.
Definiamo mdpi la densità di base, quindi "10dp" su uno schermo mdpi avrà esattamente 10 pixel. Su uno schermo hdpi si otterrà 15 pixel, perché hdpi è 1.5 * mdpi.
Si noti che sebbene le costanti per varie densità siano simili a DPI (mdpi è 160, ecc.), La densità è non uguale a DPI. È un fattore di ridimensionamento astratto che si adatta allo schermo dpi, ma non prova a rifletterlo esattamente. (Dovresti usare "in", "mm", ecc. Per le dimensioni esatte, ma il 99,9% non è quello che vuoi, quindi rimani con "dp".) Questo semplifica enormemente la vita di tutti perché non devi occuparti di molti Android dispositivi con una quantità leggermente diversa di spazio per la sua interfaccia utente perché ciascuno di DPI leggermente diverso schermo. Inoltre, i produttori di dispositivi possono selezionare la densità del loro dispositivo per ottenere l'interfaccia utente desiderata, ad esempio Samsung Tab utilizza una densità che è di gran lunga superiore al DPI effettivo, risultando in un'interfaccia utente complessiva più ampia.
OP chiede di dip, non dpi. – Ying
Sono imparentati. Ha menzionato 160 come valore base - quel valore è la densità in DPI. – kcoppock
hai ragione - non ho letto attentamente questa risposta. – Ying