안드로이드를 개발하다보면 이런 상황을 맞을 수 있다.
ImageView를 배치하고,
width, margin 등을 설정해서 이미지 크기를 조절 하는데
세로 높이가 자꾸 전체 화면을 차지하며 비율이 맞지 않는 상황이다.
가로(너비) 크기를 줄일 때 세로(높이)도 비율에 맞게 줄어들길 원한다면
adjustViewBounds 속성을 true로 설정하면된다.
android:adjustViewBounds="true"
디자인 모드에서도 설정할 수 있다.
adjustViewBounds 를 true로 설정하면 ImageView의 높이가 정상적인 비율로 축소된 것을 확인할 수 있다.
레이아웃 XML 전문은 아래와 같다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="16dp"
android:adjustViewBounds="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/test" />
</androidx.constraintlayout.widget.ConstraintLayout>
# android:adjustViewBounds 속성이란?
- 이미지의 비율을 유지하면서 크기를 조정하기 위한 속성이다.
- 자바, 코틀린 코드에서도 동적으로 설정할 수 있는 메서드가 제공된다. : setAdjustViewBounds(boolean)
'개발(Development) > Android(안드로이드)' 카테고리의 다른 글
[안드로이드] strings.xml 텍스트 줄바꿈(개행 처리), 공백 추가 방법: TextView (0) | 2021.08.01 |
---|---|
[안드로이드] Canvas: trying to draw too large bitmap. 런타임 에러 해결 방법 (0) | 2021.07.31 |
[안드로이드] Admob 광고단위(배너 등) 추가 생성/수정/삭제 방법 (0) | 2021.07.24 |
[안드로이드] Admob 앱 추가 등록 및 설정 방법 (앱ID 생성) (0) | 2021.07.24 |
[안드로이드 kotlin] Admob 앱 배너 광고 넣는 방법( + 테스트광고) (0) | 2021.07.23 |
댓글