패스트캠퍼스 챌린지

[패스트캠퍼스 챌린지 5일차] Android 전자액자 마무리

 

오늘은 전자액자 앱 마무리를 지었습니다. 최종적으로 사진을 다 추가하고 난 뒤에 실행하기 버튼을 누르면 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

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.