→ gradle 추가하고, import해서 (선언하고) 쓰라는대로 샘플코드 복사해서 사용하면됨.
→ 커스텀 할 수 있는 거는 컨페티 색깔!! 자유롭게 설정하고 여러개로 늘릴 수도 있음.
: 문제는 컨페티 떨어지는 위치가 왼쪽 모서리에서 시작해서 예쁘지도 않고, 수도꼭지에서 물나오듯 했음.
중간에 옵션 중 setDirection() 랑 setPosition()을 조정하면 될 거 같아서 값을 계속 바꾸고 +값 -값 주고 별 걸 다해봤는데도 안됐음.
stackoverflow에 나처럼 답답해하는 몇몇 질문을 봄 ㅋㅋ다들 left corner에서 떨어진다며 why my konfetti어쩌고 이럼서 답답해하고있음ㅋㅋㅋ 개웃김 ㅋㅋ
setPosition에서 뷰의 width 값을 얻어오는 코드가 잘못된 건지 DisplayMetrics를 사용하니까 예쁘게 위쪽 전체에서 떨어지게 됐음!
구세주 같은 답변!!
private fun palyKonfetti() {
val konfetti = findViewById<KonfettiView>(R.id.challenge_viewKonfetti)
val display = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(display)
konfetti.build()
.addColors(this.resources.getColor(R.color.confetti_pink), this.resources.getColor(R.color.confetti_purple),
this.resources.getColor(R.color.confetti_yellow), this.resources.getColor(R.color.confetti_blue), this.resources.getColor(R.color.white))
.setDirection(-0.0, -999.0)
.setSpeed(1f, 4f)
.setFadeOutEnabled(true)
.setTimeToLive(2000L)
.addShapes(Shape.Square, Shape.Circle)
.addSizes(Size(7))
.setPosition(-50f,display.widthPixels +50f, -50f,-50f)
.streamFor(300, 3000L)
}
android.util.DisplayMetrics
A structure describing general information about a display, such as its size, density, and font scaling.
크기, 밀도, 글꼴 크기와 같은 디스플레이에 대한 일반 정보를 설명하는 구조.
To access the DisplayMetrics members, retrieve display metrics like this:
DisplayMetrics 구성원에 액세스하려면 다음과 같은 디스플레이 측정 항목을 검색하세요.
context.getResources().getDisplayMetrics();