
어제 만들던 부분에서 추가된 점은 이미지 뷰 6개를 추가하고 권한 확인 후 이미지 선택하는 화면을 불러오는 작업을 하였습니다. 레이아웃 부분에서 이미지를 너비를 보고 높이를 결정하는 방법을 새롭게 알게 되었습니다. 코드를 보시면
<LinearLayout
android:id="@+id/firstLinearLayout"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintDimensionRatio="H,3:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/imageView11"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="centerCrop" />
<ImageView
android:id="@+id/imageView12"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="centerCrop" />
<ImageView
android:id="@+id/imageView13"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="centerCrop" />
</LinearLayout>
LinearLayout 부분 설정에서
app:layout_constraintDimensionRatio="H,3:1"
H, 3:1의 값을 넣음으로써 W(너비)를 보고 높이를 3:1 비율로 결정하였습니다.
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
when(requestCode){
1000 -> {
if(grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED){
navigatePhotos()
}
}else -> {
Toast.makeText(this,"권한을 거부하셨습니다.",Toast.LENGTH_SHORT).show()
}
}
}
MainActivity 부분에서는 onRequestPermissionsResult 함수를 추가하였습니다. requestCode가 1000인 함수를 실행시키면 권한을 확인한 후 navigatePhotos함수를 실행시켜주었습니다.
private fun navigatePhotos() {
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "image/*"
startActivityForResult(intent, 2000)
}
navigatePhotos 함수에서는 intent를 startActivityForResult 함수로 전달해주었습니다.
패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
| [패스트캠퍼스 챌린지 6일차] Timer_App (0) | 2021.11.06 |
|---|---|
| [패스트캠퍼스 챌린지 5일차] Android 전자액자 마무리 (0) | 2021.11.05 |
| [패스트캠퍼스 챌린지 3일차] Android 권한 부여하기 (0) | 2021.11.03 |
| [패스트캠퍼스 챌린지 2일차] Android 계산기 (0) | 2021.11.02 |
| [패스트캠퍼스 챌린지 1일차] Android (0) | 2021.11.01 |