안드로이드 코드 살펴보다가 메모
아래 페이지에서 전체 코드를 살펴볼수있다. 코드를 보니... 역시나 크고 어려운데 그래도 페이지에서 쉽게 볼 수 있게 되어있어서 살펴보기엔 용이하다.
https://cs.android.com/android/platform/superproject/
관련해서 필요한 페이지들 메모..
1. activity 화면전환 설명
https://developer.android.com/training/transitions/start-activity
2. ActivityOptions Class
https://developer.android.com/reference/android/app/ActivityOptions#makeSceneTransitionAnimation(android.app.Activity,%20android.view.View,%20java.lang.String)
3. ActivityOptions 구현부
https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/app/ActivityOptions.java
4. ActivityAnimation Example
https://cs.android.com/android/platform/superproject/+/master:development/samples/devbytes/animation/ActivityAnimations/src/com/example/android/activityanim/ActivityAnimations.java
5. (ApplyOptionsLocked()) 호출
https://cs.android.com/android/platform/superproject/+/master:frameworks/base/services/core/java/com/android/server/wm/ActivityRecord.java;l=1661;bpv=1;bpt=1
-> AppTransition.java:LoadAnimation()
https://cs.android.com/android/platform/superproject/+/master:frameworks/base/services/core/java/com/android/server/wm/AppTransition.java;l=1614;bpv=1;bpt=1
AppWindowToken.java : LoadAnimation()->AppTransition.LoadAnimation()
WindowContainer.java : startAnimation(Transaction t, AnimationAdapter anim, boolean hidden)
6. StartAcitivy 호출
Activity.java: startAcvitity(intent, bundle)-> startActivityForResult(Intent, requestCode, Bundle)
Instrumentation.java: execStartActivity(Bundle options)
ActivityTaskmangerService.java:startActivity(Bundle)->StartActivityAsUser(Bundle)
ActivityStarter.java:setActivityOptions(Bundle) / execute() ->startActivity(ActivityOption)
https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/app/Instrumentation.java;bpv=1;bpt=1;l=1712
ActivityStart.java : new ActivityRecord() ->startActivity(ActivityRecord, AcitivityOptions)
->StartActivityUnchecked()
ActivityStack.java
->StartActivityLocked()
미리 정의된 xml파일
Color https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/res/res/color/
Animation https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/res/res/anim/
https://www.rightpoint.com/rplabs/make-scene-transition-animation
https://jhson5183.tistory.com/2
[참고코드]
ActivityOptions
ExitTransitionCoordinate
OverridePendingTransition(ActivityOptions의 custom animation은 이 코드를 호출)
Activity class
https://developer.android.com/reference/android/app/Activity#overridePendingTransition(int,%20int)
StartActivity
https://developer.android.com/training/transitions/start-activity#java
ActivityOptions
Window
https://developer.android.com/reference/android/view/Window#FEATURE_ACTIVITY_TRANSITIONS
Intent기초
'Software Development > Application Develop' 카테고리의 다른 글
Android 메모 (0) | 2020.04.16 |
---|---|
Android MotionLayout 메모 (0) | 2020.04.16 |
재미있게 알아보는 AI 키워드 70 - 학습하고 진화하는 인공지능 (0) | 2018.02.03 |
WPF 윈도우 프레임 없애기+이동시키기 (0) | 2014.10.27 |
WPF DataBinding - INotifyPropertyChanged (0) | 2014.10.23 |