[Android] ImageView

728x90

 

ImageView

- 이미지를 보여주고자 하는 뷰

 

- 이미지 뷰를 추가하려고하면 Drawable과 mipmap이 있는데 이는 res 하위 폴더의 drawable과 mipmap을 뜻한다.

- mipmap : 비트맵 방식이 아닌 벡터방식으로 이미지를 그리게 됨. 보통 런처 아이콘용 이미지를 넣는 폴더로 사용함.
   Drawable : 모든 이미지를 넣음.

 

주요 속성

- srcCompat : 보여줄 이미지를 지정한다. 안드로이드 4버전 가지는 src였는데, 벡트 방식의 이미지(SVG, PSD 등)을 처리할 수 있는 기능을 추가하여 srcCompat으로 변경 됨 
  -> mipmap도 사용 할 수 있도록 변경 된 것

* 추가하는 이미지들은 파일명이 모두 소문자로 구성 되어 있어야 한다. 대문자가 있으면 에러 발생함.

* 그리고 파일명은 무조건 영문으로 시작해야함

 

 

이미지를 drawabledp 에 넣고나면 image view 에서 추가한 이미지를 볼 수 있다.

 

주요 메서드

- setImageResource : res 폴더에 있는 이미지를 설정

- setImageBitmap : 비트맵 객체로 만들어진 이미지를 설정 (불변)

- setImageDrawable : Drawable 객체로 만들어진 이미지를 설정 (가변)

 

package kr.co.imageview;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import kr.co.imageview.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

    ActivityMainBinding activityMainBinding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        activityMainBinding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(activityMainBinding.getRoot());

        ButtonClickListener buttonClickListener = new ButtonClickListener();
        activityMainBinding.button.setOnClickListener(buttonClickListener);
    }

    class ButtonClickListener implements View.OnClickListener{

        @Override
        public void onClick(View view) {
            //이미지 뷰에 이미지를 설정
            activityMainBinding.imageView2.setImageResource(R.drawable.img_android);
        }
    }
}

728x90

'안드로이드 스튜디오' 카테고리의 다른 글

[Android] 라이브러리 버전 수정 방법  (0) 2026.02.25
[Android] ToggleButton  (0) 2026.02.02
[Android] TextInputLayout  (0) 2025.12.19
[Android] EditText  (0) 2025.11.18
[Android] Button  (0) 2025.11.15