Archives
Recent Posts
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[29일차 Android] ImageView 본문

Computer/Android

[29일차 Android] ImageView

Wise-99 2023. 6. 11. 13:51

 

 

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

📖 ImageView

  • 이미지를 사용자에게 보여주고자 하는 목적으로 제공되는 View

주요 속성

속성 설명
srcCompat 보여줄 이미지를 지정한다. 안드로이드 4버전까지는 src였지만 백터 방식의 이미지(SVG, PSD 등)을 처리할 수 있는 기능을 추가혀여 srcCompat로 변경하였다.

주요 메서드

메서드 설명
setImageResource res 폴더에 있는 이미지를 설정
setImageBitmap Bitmap 객체로 만들어진 이미지를 설정
setImageDrawable Drawable 객체로 만들어진 이미지를 설정

Drawable vs Mipmap

  • 안드로이드에서 이미지를 넣은 폴더는 drawable 폴더이다.
  • 안드로이드 버전이 변경되면서 mipmap이라는 폴더를 제공하는데 이 폴더의 이미지는 비트맵이 아닌 벡터 방식으로 이미지를 그리게 된다.
  • mipmap 폴더의 이미지는 런처 아이콘용 이미지를 넣는 폴더로 사용한다.

 

 

 

예제 코드

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/img_android" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:srcCompat="@mipmap/ic_launcher" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />
</LinearLayout>

 

 

 

MainActivity.kt

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.test.android17_imageview.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    lateinit var activityMainBinding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(activityMainBinding.root)

        activityMainBinding.run{
            button.run{
                setOnClickListener {
                    // drawable, mipmap 폴더에 있는 이미지를 지정한다.
                    imageView2.setImageResource(R.drawable.img_android)
                }
            }
        }
    }
}

'Computer > Android' 카테고리의 다른 글

[30일차 Android] View Hide  (0) 2023.06.13
[29일차 Android] CheckBox와 RadioButton  (7) 2023.06.11
[29일차 Android] TextInputLayout  (1) 2023.06.10
[28일차 Android] LogCat  (0) 2023.06.10
[28일차 Android] EditText  (0) 2023.06.10