안드로이드 "코드" 상에서 뷰의 사이즈는 Float, Int 등의 px로만 설정 가능하며
dp와 같은 단위를 주기가 힘들다.
이럴 때는 dimens.xml 파일을 만들어 사이즈 값을 저장해두고,
코드에서 불러와 사용하면 된다.
1. dimens.xml 파일 정의
- res > values 경로에 dimens.xml 파일 생성
- <resources> 태그 내부에 <dimen>태그를 삽입
2. Kotlin 코드에서 참조
- 이렇게 해두면 코드 상에서 사이즈를 불러와서 사용할 수 있다.
- resources.getDimension(R.dimen.이름)
// dimens.xml 에 정의한 크기값 참조
val fontSizeLarge: Float = resources.getDimension(R.dimen.font_size_large)
val fontSizeMedium: Float = resources.getDimension(R.dimen.font_size_Medium)
val fontSizeSmall: Float = resources.getDimension(R.dimen.font_size_Small)
// TextView의 사이즈 설정
textView01.textSize = fontSizeLarge
textView02.textSize = fontSizeMedium
textView03.textSize = fontSizeSmall
* Java에서는 아래의 코드로 참조
float fontSizeLarge = getResources().getDimension(R.dimen.font_size_large);
3. XML 파일에서 참조
- 물론 XML파일에서도 dimens.xml 에 정의해둔 사이즈 값을 참조할 수 있다.
- @dimen/이름
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/font_size_large" />
'개발(Development) > Android(안드로이드)' 카테고리의 다른 글
[안드로이드 코틀린] View 출력 원리와 커스텀뷰 생성/사용 방법 기초 (0) | 2021.08.20 |
---|---|
[안드로이드 코틀린] 커스텀 View 화면 갱신 방법(새로 그리기): invalidate() (0) | 2021.08.20 |
[안드로이드 앱] AAB 빌드 안될 때 해결 방법: keystore password was incorrect, getSecretKey failed: Password is not ASCII (0) | 2021.08.16 |
안드로이드스튜디오: 에뮬레이터 생성 및 실행 방법(AVD Manager) (0) | 2021.08.10 |
[안드로이드] Button의 background 설정 및 커스텀 drawable(selector 등) 적용 불가 해결 방법 (0) | 2021.08.04 |
댓글