오늘은 전자액자 앱 마무리를 지었습니다. 최종적으로 사진을 다 추가하고 난 뒤에 실행하기 버튼을 누르면 3초에 한번씩 사진을 바뀌면서 보여주는 기능을 만들었습니다.
<ImageView
android:id="@+id/backgroundImageView"
android:layout_width="0dp"
android:layout_height="0dp"
android:scaleType="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/photoImageView"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/black"
android:scaleType="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
이미지 뷰 2개를 만들어주고 하나를 앞에서 보여주고 그 다음 이미지를 보여주기 위한 이미지뷰입니다.
private fun startTimer(){
timer = timer(period = 3000){
runOnUiThread {
val current = currentPosition
val next = if(photoList.size <= currentPosition + 1) 0 else currentPosition + 1
backgroundImageView.setImageURI(photoList[current])
photoImageView.alpha = 0f
photoImageView.setImageURI(photoList[next])
photoImageView.animate()
.alpha(1.0f)
.setDuration(1000)
.start()
currentPosition = next
}
}
}
사진을 3초에 한번씩 넘겨주기 위해서 startTimer() 함수를 만들어주었습니다. runOnUiThread를 이용하여 main쓰레드를 사용하였고 animate()함수를 이용해서 1초동안 다음 이미지로 이동할 때 생기는 애니메이션을 처리해주었습니다.
패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
[패스트캠퍼스 챌린지 7일차] Android Timer (0) | 2021.11.07 |
---|---|
[패스트캠퍼스 챌린지 6일차] Timer_App (0) | 2021.11.06 |
[패스트캠퍼스 챌린지 4일차] Android 전자액자 (0) | 2021.11.04 |
[패스트캠퍼스 챌린지 3일차] Android 권한 부여하기 (0) | 2021.11.03 |
[패스트캠퍼스 챌린지 2일차] Android 계산기 (0) | 2021.11.02 |