안드로이드 snow fall 라이브러리

ANKT·2022년 2월 13일
1

안드로이드 snow fall 라이브러리 사용법

UI의 꽃은 애니메이션이라고 생각하기 때문에 찾아보던 도중에 snow fall이라는 라이브러리를 찾았네요

출처-링크

1. 세팅 그래들 파일에 코드 추가

dependencyResolutionManagement {
	repositories {
		maven { url "https://jitpack.io" }
	}
}

2. 디펜던시 추가

implementation 'com.github.jetradarmobile:android-snowfall:1.2.1'

3. layout 코드 추가

<com.jetradarmobile.snowfall.SnowfallView
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>

이 코드는 기본 코드입니다. layout 파일에 추가하시면 사용하실 수 있습니다

3.2 자세한 layout 코드 추가

<com.jetradarmobile.snowfall.SnowfallView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:snowflakesNum="250"
      app:snowflakeAlphaMin="150"
      app:snowflakeAlphaMax="255"
      app:snowflakeAngleMax="5"
      app:snowflakeSizeMin="8dp"
      app:snowflakeSizeMax="32dp"
      app:snowflakeSpeedMin="4"
      app:snowflakeSpeedMax="12"
      app:snowflakesFadingEnabled="true"
      app:snowflakesAlreadyFalling="false"
      app:snowflakeImage="@drawable/snowflake"/>

굉장히 복잡해 보이지만 제가 설명 해드리도록 하겠습니다!
그리고 설명은 제 추측 이므로 정확하지 않을 수도 있습니다.

!! 그리고 Min과 Max가 있는 코드에서는 Min이 Max를 넘으면 안되니 주의 바랍니다 !!

app:snowflakesNum="250"

이 코드는 떨어지는 갯수를 설정해주는 코드입니다

app:snowflakeAlphaMin="150"
app:snowflakeAlphaMax="255"

이 코드는 희미함을 표시하는 코드입니다.
첫번째 줄은 최소 희미함, 두번쨰 줄은 최대 희미함을 설정해주는 코드입니다.

app:snowflakeAngleMax="5"

이 코드는 휘는 각도를 설정해주는 코드 입니다. 5를 설정해주시면 직선으로 떨어지네요

app:snowflakeSizeMin="8dp"
app:snowflakeSizeMax="32dp"

이 코드는 최소 사이즈, 최대 사이즈를 설정 해주는 코드입니다.

app:snowflakeSpeedMin="4"
app:snowflakeSpeedMax="12"

대부분 코드 성질이 비슷한데요 이것 또한 최소, 최대 속도에 대한 코드를 설정해주는 것입니다.

app:snowflakesFadingEnabled="true"

이 코드는 끝부분에서 사라지는 애니메이션을 할지 말지 넣는 코드입니다.

app:snowflakesAlreadyFalling="false"

이 코드는 시작 할 때부터 떨어질지 말지 선택하는 코드입니다.

app:snowflakeImage="@drawable/snowflake"

이 코드는 떨어지는 사진을 설정 할수 있고 만약 설정을 안하면 기본 하얀 눈이 떨어집니다.

코틀린 코드

코틀린 코드에는 두가지가 있습니다. 멈추는 코드다시 재시작하는 코드가 있습니다.

snowFall.stopFalling()
snowFall.restartFalling()

이 글이 도움이 됐으면 좋겠네요. 감사합니다!

profile
Law of Attraction

0개의 댓글