https://woochan-dev.tistory.com/45

https://boheeee.tistory.com/14

 

[Android] 안드로이드 activity 화면 전환 animation

안녕하세요. ! 오늘은 activity 화면 전환 시 즉, intent를 사용해 화면 전환 시 animation 효과를 주는 방법에 대해 알아보겠습니다. 아래와 같이 fade animation을 사용해 activity를 전환하겠습니다. 먼저, res..

boheeee.tistory.com

http://uidesignguides.com/%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD%EB%B3%84-%EC%95%A0%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98-%EC%A7%80%EC%9B%90-%EC%86%8D%EC%84%B1/

 

http://uidesignguides.com/%EA%B0%9C%EB%B0%9C-%ED%99%98%EA%B2%BD%EB%B3%84-%EC%95%A0%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98-%EC%A7%80%EC%9B%90-%EC%86%8D%EC%84%B1/

 

uidesignguides.com

https://developer.android.com/guide/topics/graphics/prop-animation

 

Property Animation Overview  |  Android Developers

The property animation system is a robust framework that allows you to animate almost anything. You can define an animation to change any object property over time, regardless of whether it draws to the screen or not. A property animation changes a propert

developer.android.com

 

애니메이션으로 상태 변화나 전환을 설명하거나, 공간 모델을 확립하거나, 주의를 끌 수 있다.

애니메이션은 사용자가 앱을 올바로 이해하고 원하는 화면으로 이동하는데 도움이 된다.

애니메이션이 없는 경우 무엇이 바뀌었는지 설명없이 확 바뀌는 느낌이 든다. 

 

반응형 환경에서 애니메이션을 작성할 때 애니메이션 코드에 필요한 몇가지 특성이 있다.

  • 재진입(Reentrant)
  • 연속(Continuous)
  • 매끄러움(Smooth)

재진입(Reentrant)

애니메이션을 언제든지 중단했다가 다시 호출할 수 있어야 한다는 의미이다. 

새로운 상태 객체가 게시되는 경우, 애니메이션이 실행 중인 동안에도 상태에 맞는 애니메이션이 바인딩 될 수 있도록 애니메이션을 준비해야 한다. 실행중인 애니메이션을 취소 또는 다시 타게팅할 수 있거나, 잠재저긴 역효과를 모두 없앨 수 있어야 한다.


연속 (Continuous)

애니메이션되는 값에 갑작스러운 변화가 생지기 않도록 한다. 

애니메이션을 끝까지 실행하면 모든 모습이 보기 좋지만, 그러지 않고 빠르게 탭하면 애니메이션의 크기와 색상이 불연속적으로 변한다.


매끄러움 (Smooth)

뷰를 상단 오른쪽으로 두 차례 연속으로 빠르게 보내는 경우, 뷰가 중간에서 멈춘 후에 목적지를 향해 천천히 움직이거나, 이동 중간에 목적지를 바꾸면 뷰가 다시 멈추었다가 갑자기 방향을 바꾸는 이런 갑작스러운 정지나 방향 변화는 부자연스러워 보인다. 현실 세계에서는 이런식으로 움직이지 않기 때문이다. 따라서 애니메이션을 계속 매끄럽게 유지하도록 해야 한다.


 

Springterlude

스프링은 '동적 애니메이션' Jetpack 라이브러리의 일부이다. 많은 사람이 매우 탄력있는 애니메이션 예시를 보면서 이 라이브러리를 그냥 건너뛰었을지도 모른다. 이 효과를 유용하게 활용할 수도 있지만, 늘 필요하거나 바람직한 것은 아니라서 그럴 것이다. 하지만 이런 탄력성은 비활성화하고 애니메이션을 중단하고 다시 시작하는 기능 및 일반적인 애니메이션에 유용한 여러가지 속성을 가진 물리애니메이션 시스템으로 사용할 수 있다.

 

스프링 애니메이션으로 구현하면 부드러움 문제가 생기지 않는다는 점을 확인할 수 있다. 

SpringAnimation 작성은 일반적인 애니메이터와 많은 면에서 흡사한데, start()를 호출하는게 아니라 animateToFinalPosition메서드를 사용하는 점이 큰 장점이다. 이 메서드는 애니메이션이 아직 시작되지 않은 경우 애니메이션을 시작하는 역할을 하지만, 애니메이션이 실행 중인 경우에는 애니메이션을 새 목적지로 리타게팅하여 갑자기 변경하지 않고 모멘텀을 유지한다는 점이 중요하다.


Reference

 

 

 

'Android' 카테고리의 다른 글

[안드로이드] 화면전환  (0) 2019.11.22
[안드로이드] 애니메이션2  (0) 2019.11.20
[안드로이드] 패키지명, Color 변경  (1) 2019.11.17
[안드로이드] 기본위젯과 드로어블  (0) 2019.11.16
[Kotlin] TextWatcher  (0) 2019.10.30

패키지 명 (Package Name)

  • 앱을 구분하는 정보이므로 고유한 값을 설정하는게 좋다.
  • Play스토어에 등록할 때 첫 화면에서 지정한 패키지 명과 다른사람이 등록한 패키지 명이 달라야 한다
    • com.회사이름.프로그램이름
    • com.회사이름.플랫폼.프로그램이름
    • kr.co.회사이름.프로그램이름
    • kr.co.회사이름.플랫폼.프로그램이름
  • 플레이 스토어에 com.example.~~~~.~~~~ 는 제한되어 있다.
  •  

명명 규칙

  • 웹사이트를 반대로 기재한 형태로 작성한다.
  • 소문자를 사용한다.
  • 소스 파일들을 각각의 그룹으로 구분하기 위해 점( . )을 사용한다.
  • 패키지 이름으로 소스가 들어가는 폴더가 자동으로 생성된다.

앱 이름 수정하기

/res/values/string.xml에서 <string name="app_name">수정할 이름</string> 이 부분을 수정해주면 된다.


앱 실행 아이콘 수정하기

File -> New -> Image Asset 클릭하여 실행 아이콘 만들기.

Manifest.xml에 만든 아이콘으로 설정해주기


색상 변경하기

  • colorPrimary : 애플리케이션의 주 색상이다. (타이틀 바의 색상이 변경된다.)
  • colorPrimaryDark : 주 색상 계통에서 조금 더 어두운 색상이다. 상태바 색상을 별도로 지정하지 않을 경우 상태바 색상으로 사용된다. ( 최상단에 데이터통신상태표시, 시간표시, 배터리 표시되는 상태바의 색상이 변경된다.)
  • colorAccent : 보통 주 색상과 대비되는 색상을 지정한다. 중요하나 역할을 하는 UI요소에 주로 사용한다.
  • colorControlNormal : 컨트롤러에 사용한다. 비활성 상태/선택한 상태 등이 아닌 일반적인 상태에 적용한다.
    (예: EditText, 체크박스, 라디오 버튼, 프로그래스 바)
  • colorControlHighlight : 컨트롤러를 터치하거나 선택되었을 때 표시할 색상이다. 
  • android:navigationBarColor : 네비게이션 바 색상이다. (API Level 21(Android 5.0) 이상에서만 사용 가능하다.)

 

 

 

'Android' 카테고리의 다른 글

[안드로이드] 애니메이션2  (0) 2019.11.20
[안드로이드] 애니메이션  (0) 2019.11.18
[안드로이드] 기본위젯과 드로어블  (0) 2019.11.16
[Kotlin] TextWatcher  (0) 2019.10.30
[Kotlin] 안드로이드 권한 - 1  (0) 2019.09.30

+ Recent posts