이미지를 넣을 때 ImageView
라는 태그를 사용합니다.
쉽게 생각해보면 배경 이미지를 넣을 때 ImageView
를 사용해서 이미지를 넣어주고 뷰포트 너비와 높이만큼 늘려주면 될 것이라고 생각할 수 있습니다.
물론 틀렸다고 말할 수는 없지만 옳은 방법은 아닙니다.
<!-- 잘못된 예시 -->
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
tools:ignore="MissingConstraints"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- 배경 이미지를 넣기 위해 이미지를 불러옴 -->
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/rose"
android:id="@+id/imageView"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="0dp"
tools:ignore="MissingConstraints"/>
</androidx.constraintlayout.widget.ConstraintLayout>
배경 이미지를 넣기 위해 이미지를 불러오는 방법은 잘못된 방법이므로, 다른 방법을 생각해보아야 합니다.
바로 레이아웃에 배경 속성을 지정해주는 방법입니다.
<!-- 잘못된 예시 -->
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@drawable/rose">
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
tools:ignore="MissingConstraints"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
레이아웃 마지막 속성에 android:background="@drawable/rose"
을 추가해 주었습니다.
이렇게 배경에 이미지를 추가하고자 할 때는 이미지뷰를 사용하지 않고 레이아웃에 속성을 부여하여 사용합니다.
이 이미지는 drawable 디렉터리에 있는 rose라는 이미지입니다.