Download presentation
Presentation is loading. Please wait.
Published byCleopatra Scott Modified over 9 years ago
1
Graphics & Animation in Android
2
Android rendering options The Canvas API Renderscript OpenGL wrappers NDK OpenGL http://graphics-geek.blogspot.com/2011/06/android-rendering-options.html
3
The Canvas API Standard rendering for a typical SDK application that uses View objects (standard and custom) consists of calls to each View's onDraw() method. This method takes a single parameter, Canvas, which is the object used by the view to draw its content. http://graphics-geek.blogspot.com/2011/06/android-rendering-options.html
4
Renderscript Introduced in Android 3.0 API targeted high-performance 3D rendering and compute operations a 3D rendering API on top of hardware acceleration, language C99 executing native code on the device still cross- platform use of extensions that are placed into the application package http://graphics-geek.blogspot.com/2011/06/android-rendering-options.html
5
Renderscript Live Wallpapers, the video wall view in the YouTube application, and the Books application (including that beautiful page-turn effect). http://www.youtube.com/watch?v=uQ5NumRfHN4 http://graphics-geek.blogspot.com/2011/06/android-rendering-options.html
6
Open GL Wrappers OpenGL APIs at the SDK level not a recommended practice as a general approach for complex scenes that require high-performance graphics difficult to achieve high performance levels equivalent to native access to OpenGL due to the overhead of calling down from the SDK Music application that shipped with Android 3.0 used this approach http://graphics-geek.blogspot.com/2011/06/android-rendering-options.html
7
NDK OpenGL no access to the View objects, or the events, or the rest of the infrastructure that is provided in the SDK APIs graphics environment sufficient for some specific purposes: game developers compiles applications to specific CPU architectures http://graphics-geek.blogspot.com/2011/06/android-rendering-options.html
8
Animations Animations prior to Android 3.0 – android.view.animation – move, scale, rotate, and fade Views – combine multiple animations together in an AnimationSet – specify animations in a LayoutAnimationController to get automatically staggered animation – use Interpolator implementations like AccelerateInterpolator and Bounce to get natural, nonlinear timing behavior http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
9
Animations Animations prior to Android 3.0 – you can animate Views... and that's it – How to animate the position of a Drawable in a custom drawing? Or translucency? – you can move, rotate, scale, and fade a View... and that's it. – animating the background color of a View? – hard-coded set of things they were able to do, and you could not make them do anything else. http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
10
Animations Animations in Android 3.0 – not specific to Views – animates values over time – assigning those values to any target objects and properties http://www.youtube.com/watch?feature=play er_embedded&v=-9nxx066eHE#! http://www.youtube.com/watch?feature=play er_embedded&v=-9nxx066eHE#! http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
11
Animations Animator – superclass for classes which provide basic support for animations which can be started, ended, and have AnimatorListeners added to them java.lang.Object ↳ android.animation.Animator ↳ android.animation.AnimatorSet java.lang.Object ↳ android.animation.Animator ↳ android.animation.ValueAnimator ↳ android.animation.ObjectAnimator
12
Animations AnimatorSet – choreograph multiple animators together into a single animation – animations can be set up to play together, in sequence, or after a specified delay – “It is possible to set up a AnimatorSet with circular dependencies between its animations… results of this configuration are undefined… circular dependencies should be avoided” http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
13
Animations ValueAnimator – runs the internal timing loop that causes all of a process's animations to calculate and set values – two pieces to animating properties: calculating the animated values and setting those values on the object and property in question. ValueAnimator takes care of the first part; calculating the values http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
14
Animations ObjectAnimator – takes care of the second part : setting animating values on the object and property – main class in the new animation system ObjectAnimator.ofFloat(myObject, "alpha", 0f).start(); public void setAlpha(float value); public float getAlpha(); http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
15
View properties – added new properties to the View class in Honeycomb translationX and translationY rotation, rotationX, and rotationY scaleX and scaleY pivotX and pivotY x and y alpha Animations http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
16
AnimatorSet – choreograph multiple animations ObjectAnimator fadeOut = ObjectAnimator.ofFloat(v1, "alpha", 0f); ObjectAnimator mover = ObjectAnimator.ofFloat(v2, "translationX", - 500f, 0f); ObjectAnimator fadeIn = ObjectAnimator.ofFloat(v2, "alpha", 0f, 1f); AnimatorSet animSet = new AnimatorSet().play(mover).with(fadeIn).after(fadeOut); Animations http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
17
TypeEvaluator – The system knows how to animate float and int values, but otherwise it needs some help knowing how to interpolate between the values you give it – add this interface to the ValueEvaluator Interface TypeEvaluator { public abstract T evaluate (float fraction, T startValue, T endValue) } Animations http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.