안드로이드 개발자의 창고
[29일차 Android] ImageView 본문
출처 : 안드로이드 앱스쿨 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 |