이번 시간에는 기본 카메라 앱을 실행시켜 사진을 찍고, 이미지뷰(ImageView)에 보여주는 방법을 알아보겠습니다.
- 설명 -
1. 이미지 보여주는 ImageView
2. 카메라앱 실행하는 Button
<RelativeLayout 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:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher"/>
<Button
android:id="@+id/pic_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/imageView"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:text="사진 찍기"
android:textSize="20sp"/>
</RelativeLayout>
- 설명 -
1. MediaStore.ACTION_IMAGE_CAPTURE
기본 카메라앱 실행
2. ActivityResultLaunche
액티비티 결과 가져오는 클래스
3. it.data!!.extras
결과값
class MainActivity : AppCompatActivity(){
lateinit var bitmap: Bitmap
lateinit var imageView: ImageView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//객체 생성
imageView = findViewById(R.id.imageView)
val picBtn: Button = findViewById(R.id.pic_btn)
//버튼 이벤트
picBtn.setOnClickListener {
//사진 촬영
val intent: Intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
activityResult.launch(intent)
}
}//onCreate
//결과 가져오기
private val activityResult: ActivityResultLauncher<Intent> = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()){
if(it.resultCode == RESULT_OK && it.data != null){
//값 담기
val extras = it.data!!.extras
//bitmap으로 타입 변경
bitmap = extras?.get("data") as Bitmap
//화면에 보여주기
imageView.setImageBitmap(bitmap)
}
}
}
2022.07.19 - [안드로이드] - [안드로이드 코틀린] 텍스트(EditText) 입력 체크 및 버튼(Button) 활성화
2022.07.18 - [안드로이드] - [안드로이드 코틀린] 포커스 이벤트 숫자(천 단위) 콤마 넣는 방법
2022.07.17 - [안드로이드] - [안드로이드 코틀린] OnClickListener onClick 하나로 다중 버튼 이벤트 설정하기
[안드로이드 코틀린] 알림(Snackbar) 생성 및 취소 기능 만드는 방법 (0) | 2022.07.22 |
---|---|
[안드로이드 코틀린] 별점(RatingBar) 만드는 방법 (0) | 2022.07.21 |
[안드로이드 코틀린] 텍스트(EditText) 입력 체크 및 버튼(Button) 활성화 (0) | 2022.07.19 |
[안드로이드 코틀린] 포커스 이벤트 숫자(천 단위) 콤마 넣는 방법 (0) | 2022.07.18 |
[안드로이드 코틀린] OnClickListener onClick 하나로 다중 버튼 이벤트 설정하기 (0) | 2022.07.17 |
댓글 영역