336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

sp와 dp는 Android 개발에서 UI 요소의 크기를 지정할 때 사용하는 단위입니다. 이 두 단위는 화면 크기와 해상도에 관계없이 일관된 크기를 유지하는 데 중요한 역할을 합니다.

dp (Density-independent Pixels)

  • 정의: dp는 밀도 독립 픽셀(Density-independent Pixels)을 의미합니다.
  • 사용 목적: 주로 레이아웃 크기(너비, 높이, 패딩, 마진 등)를 지정할 때 사용합니다.
  • 특징: 화면 밀도(density)에 따라 크기가 조정됩니다. 예를 들어, 고해상도 디스플레이에서도 동일한 물리적 크기를 유지합니다.
  • 계산 방법: 1 dp는 기본적으로 160 dpi(dots per inch) 화면에서 1 픽셀에 해당합니다. 고밀도 화면에서는 더 많은 픽셀을 차지합니다.
val padding = 16.dp
Box(modifier = Modifier.padding(padding)) {
    // ...
}

sp (Scale-independent Pixels)

  • 정의: sp는 스케일 독립 픽셀(Scale-independent Pixels)을 의미합니다.
  • 사용 목적: 주로 텍스트 크기를 지정할 때 사용합니다.
  • 특징: dp와 마찬가지로 화면 밀도에 따라 크기가 조정되지만, 사용자 설정에 따른 글꼴 크기 조정(scale)도 반영됩니다. 사용자가 기기 설정에서 글꼴 크기를 변경하면 sp 단위로 지정된 텍스트 크기도 변경됩니다.
  • 계산 방법: 기본적으로 dp와 비슷하게 동작하지만, 추가로 사용자 설정에 따른 스케일링이 적용됩니다.
val fontSize = 16.sp
Text(text = "Hello, World!", fontSize = fontSize)

차이점 요약

  1. 사용 목적:
    • dp: 주로 레이아웃 크기를 지정할 때 사용.
    • sp: 주로 텍스트 크기를 지정할 때 사용.
  2. 스케일링:
    • dp: 화면 밀도에 따라 크기가 조정됨.
    • sp: 화면 밀도와 사용자 설정(글꼴 크기)에 따라 크기가 조정됨.

dp 사용예제

@Composable
fun DpExample() {
    Box(
        modifier = Modifier
            .size(100.dp)  // 100 dp 크기의 박스
            .background(Color.Blue)
    )
}

sp 사용예제

@Composable
fun SpExample() {
    Text(
        text = "Hello, World!",
        fontSize = 24.sp  // 24 sp 크기의 텍스트
    )
}

 

이 두 단위를 적절히 사용하면 다양한 화면 밀도와 사용자 설정을 고려하여 일관된 UI를 제공할 수 있습니다. dp는 주로 레이아웃 요소의 크기를 정의하는 데 사용하고, sp는 텍스트 크기를 정의하는 데 사용합니다. 이를 통해 사용자 경험을 개선하고, 다양한 디바이스에서 일관된 UI를 유지할 수 있습니다.

'Android' 카테고리의 다른 글

Kotlin | Jetpack Compose 란?  (0) 2024.07.15
Kotlin | 함수의 구성요소  (1) 2024.07.15
Kotlin | var, val 차이점  (0) 2024.07.14
Android Studio 설치 및 환경설정  (0) 2024.07.13

+ Recent posts