Sobes.tech
Junior

Android өнүктүрүү контекстинде px, dp жана sp эмне?

sobes.tech AI

AIден жооп

  • px (пиксел): Экрандагы пикселдер. Алар дисплей түзүүчү чынтык пункттар. px өлчөмү экрандын тыгыздыгына көз каранды. Тагы да, ар башка тыгыздыктагы түзмөктөрдө, бирдей px өлчөмү башка физикалык аянтты ээлейт.

  • dp (тыгыздыкка көз каранды эмес пикселдер): Тыгыздыкка көз каранды эмес пикселдер. Экрандын физикалык өлчөмүнө негизделген өлчөм бирдиги. dp ар башка тыгыздыктагы экрандарда UI элементтеринин физикалык өлчөмүн бирдей кылат. 160 dp орто тыгыздыктагы (mdpi) экранда болжол менен 1 дюймга барабар. Android framework dp-ни түзмөктүн тыгыздыгына ылайык масштабдайт.

  • sp (масштабга көз каранды эмес пикселдер): Масштабга көз каранды эмес пикселдер. dp менен окшош, бирок ал дагы колдучунун шрифт жөндөөлөрүнө (мисалы, системдик жөндөөлөрдөгү шрифт өлчөмү) ылайык масштабдалат. Тексттин өлчөмүн аныктоо үчүн sp колдонуу сунушталат.

XMLде колдонуу мисалы:

<TextView  
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    android:textSize="16sp"  // Тексттин өлчөмү spде
    android:padding="8dp" /> // Аралыктар dpде

<ImageView  
    android:layout_width="50dp"  // Сүрөттүн туурасы dpде
    android:layout_height="50dp"  /> // Сүрөттүн бийиктиги dpде

Жыйынтык таблица:

Бирдик Максат Масштабдан баштап Кеңеш берилет үчүн
px Физикалык пиксел - Туура эмес
dp Тыгыздыкка көз каранды эмес пиксел Экрандын тыгыздыгы UI элементтери
sp Текст үчүн масштабга көз каранды эмес пиксел Экрандын тыгыздыгы жана тексттин өлчөмү Текст