본문 바로가기
개발(Development)/Android(안드로이드)

[안드로이드] getDimension() vs. getDimensionPixelSize() 차이

by 카레유 2021. 8. 27.

안드로이드는

dimens.xml 파일에 정의해둔 사이즈 크기 값을 코드 상에서 참조할 수 있도록

Resources 클래스를 통해 아래의 2가지 메서드를 제공한다.

두 메서드가 반환하는 값에 약간의 차이가 있어서 정리해 둔다.


1. getDimension() 

- 자바:  public float getDimension (int id)

- 코틀린 :  open fun getDimension(id: Int): Float

- 반환값: dimen.xml에 정의한 dp값을 기기에 맞게 px로 변환하여 소수점까지 Float 로 반환한다.

 

2. getDimensionPixelSize()

- 자바: public int getDimensionPixelSize (int id)

- 코틀린: open fun getDimensionPixelSize(id: Int): Int

- 반환값: dimen.xml에 정의한 dp값을 기기에 맞게 px로 변환하여 반올림한 값을 Int로 반환한다.

 

두 메서드(함수)의 차이는

dp를 px로 변환하면서 소수점까지 반환하느냐, 반올림해서 정수로 반환하느냐 이다.


<테스트 결과>


dimens.xml 에 정의된 사이즈 값을 getDimension() 메서드로 취득하는 방법은 아래 글 참고

 

[안드로이드 코틀린] 코드에서 View 크기 dp 설정 방법: dimens.xml

 

 

 

댓글