Sobes.tech
Junior

Čo sú px, dp a sp v kontexte vývoja Androidu?

sobes.tech AI

Odpoveď od AI

  • px (pixel): Pixely na obrazovke. Sú skutočné body, z ktorých sa skladá displej. Veľkosť v px závisí od hustoty obrazovky. Na zariadeniach s rôznou hustotou zaberie rovnaká veľkosť v px rôznu fyzickú plochu.

  • dp (nezávislé od hustoty pixelov): Pixely nezávislé od hustoty. Jednotka merania založená na fyzickej veľkosti obrazovky. dp zabezpečuje rovnakú fyzickú veľkosť prvkov UI na obrazovkách s rôznou hustotou. 160 dp je približne rovnaké ako 1 palec na obrazovke strednej hustoty (mdpi). Android framework škáluje dp podľa hustoty zariadenia.

  • sp (škálovateľné nezávislé od veľkosti pixelov): Pixely nezávislé od škálovania. Podobné ako dp, ale navyše sa škálujú podľa nastavení písma používateľa (napríklad veľkosť písma v systémových nastaveniach). Odporúča sa používať sp na určenie veľkosti textu.

Príklad použitia v XML:

<TextView  
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    android:textSize="16sp"  // Veľkosť textu v sp
    android:padding="8dp" /> // Okraje v dp

<ImageView  
    android:layout_width="50dp"  // Šírka obrázka v dp
    android:layout_height="50dp"  /> // Výška obrázka v dp

Sumárna tabuľka:

Jednotka Účel Škáluje od Odporúčané pre
px Fyzický pixel - Neodporúča sa
dp Nezávislý od hustoty pixel Hustota obrazovky UI prvky
sp Škálovateľný nezávislý od veľkosti pixel Hustota obrazovky a veľkosť písma Text