Sobes.tech
Junior

Ce sunt px, dp și sp în contextul dezvoltării Android?

sobes.tech AI

Răspuns de la AI

  • px (pixeli): Pixeli pe ecran. Sunt puncte reale din care este format ecranul. Dimensiunea în px va depinde de densitatea ecranului. Pe dispozitive cu densități diferite, aceeași dimensiune în px va ocupa o suprafață fizică diferită.

  • dp (pixeli independenți de densitate): Pixeli independenți de densitate. Unitate de măsură bazată pe dimensiunea fizică a ecranului. dp asigură o dimensiune fizică uniformă a elementelor UI pe ecrane cu densități diferite. 160 dp sunt aproximativ egali cu 1 inch pe un ecran de densitate medie (mdpi). Framework-ul Android scalează dp în funcție de densitatea dispozitivului.

  • sp (pixeli independenți de scalare): Pixeli independenți de scalare. Similar cu dp, dar se scalează în funcție de setările de font ale utilizatorului (de exemplu, dimensiunea fontului în setările sistemului). Se recomandă utilizarea sp pentru stabilirea dimensiunii textului.

Exemplu de utilizare în XML:

<TextView  
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    android:textSize="16sp"  // Dimensiunea textului în sp
    android:padding="8dp" /> // Margini în dp

<ImageView  
    android:layout_width="50dp"  // Lățimea imaginii în dp
    android:layout_height="50dp"  /> // Înălțimea imaginii în dp

Tabel sumar:

Unitate Scop Se scalează de la Recomandat pentru
px Pixel fizic - Nu recomandat
dp Pixel independent de densitate Densitatea ecranului Elemente UI
sp Pixel independent de scalare și dimensiune text Densitatea ecranului și dimensiunea textului Text