이번 시간에는 갤러리에서 사진 선택하면 이미지 뷰에 보여주는 방법에 대하여 알아보겠습니다.
build.gradle(Module:프로젝트명:app)
android 괄호 안에 아래 코드를 넣어주시면 됩니다.
findViewById 없이 뷰 객체 접근하기 위한 설정
buildFeatures{
viewBinding = true
}
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.github.bumptech.glide:glide:4.14.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.14.1'
- 설명 -
1. 갤러리에서 선택한 사진 보여주는 ImageView
2. 갤러리 보여주는 Button
<?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="300dp"/>
<Button
android:id="@+id/galleryBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="사진첩 열기"
android:textSize="20sp"/>
</LinearLayout>
- 설명 -
1. Intent(Intent.ACTION_PICK)
액션 설정
2. intent.type = "image/*"
이미지 전체 가져오기
3. registerForActivityResult
활동으로부터 결과 가져오기
4. 참조 문서
https://developer.android.com/training/basics/intents/result?hl=ko#test
class MainActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
//버튼 이벤트
binding.galleryBtn.setOnClickListener {
//갤러리 호출
val intent = Intent(Intent.ACTION_PICK)
intent.type = "image/*"
activityResult.launch(intent)
}
}//onCreate
//결과 가져오기
private val activityResult: ActivityResultLauncher<Intent> = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()){
//결과 코드 OK , 결가값 null 아니면
if(it.resultCode == RESULT_OK && it.data != null){
//값 담기
val uri = it.data!!.data
//화면에 보여주기
Glide.with(this)
.load(uri) //이미지
.into(binding.imageView) //보여줄 위치
}
}
}
2022.10.06 - [안드로이드] - [안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part1 - 뷰 바인딩 및 화면 구성
2022.10.04 - [안드로이드] - [안드로이드 코틀린] CountDownTimer 타이머 쉽게 만드는 방법 part1 뷰 바인딩 및 화면 구성
2022.10.03 - [안드로이드] - [안드로이드 코틀린] 스톱워치 StopWatch 쉽게 만드는 방법
[안드로이드 코틀린] 갤러리에서 다중 선택 사진 화면 전환 하는 방법 (0) | 2022.10.13 |
---|---|
[안드로이드 코틀린] 갤러리에서 다중 선택 사진 RecycelrView 에 보여주는 방법 (0) | 2022.10.12 |
[안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part3- 기능 구현(승리 체크) (0) | 2022.10.10 |
[안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part2 - 기능 구현(클릭 이벤트) (0) | 2022.10.07 |
[안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part1 - 뷰 바인딩 및 화면구성 (0) | 2022.10.06 |
댓글 영역