50e990c64f
Change-Id: Idc55a0b368c1d2c1e7d4999601b739dd57f08eb3
74 lines
4.3 KiB
Plaintext
74 lines
4.3 KiB
Plaintext
page.title=Animation and Graphics Overview
|
|
@jd:body
|
|
|
|
<p>Android provides a variety of powerful APIs for applying animation to UI elements and drawing custom
|
|
2D and 3D graphics. The sections below provide an overview of the APIs and system capabilities available
|
|
and help you decide with approach is best for your needs.</p>
|
|
|
|
<h3 id="animation">Animation</h3>
|
|
|
|
<p>The Android framework provides two animation systems: property animation
|
|
(introduced in Android 3.0) and view animation. Both animation systems are viable options,
|
|
but the property animation system, in general, is the preferred method to use, because it
|
|
is more flexible and offers more features. In addition to these two systems, you can utilize Drawable
|
|
animation, which allows you to load drawable resources and display them one frame after
|
|
another.</p>
|
|
|
|
<dl>
|
|
<dt><strong><a href="{@docRoot}guide/topics/graphics/prop-animation.html">Property
|
|
Animation</a></strong></dt>
|
|
<dd>Introduced in Android 3.0 (API level 11), the property animation system lets you
|
|
animate properties of any object, including ones that are not rendered to the screen. The system is
|
|
extensible and lets you animate properties of custom types as well.</dd>
|
|
|
|
<dt><strong><a href="{@docRoot}guide/topics/graphics/view-animation.html">View
|
|
Animation</a></strong></dt>
|
|
<dd>View Animation is the older system and can only be used for Views. It is relatively easy to
|
|
setup and offers enough capabilities to meet many application's needs.</dd>
|
|
</dl>
|
|
|
|
<dt><strong><a href="{@docRoot}guide/topics/graphics/drawable-animation.html">Drawable
|
|
Animation</a></strong></dt>
|
|
<dd>Drawable animation involves displaying {@link android.graphics.drawable.Drawable} resources one
|
|
after another, like a roll of film. This method of animation is useful if you want to animate
|
|
things that are easier to represent with Drawable resources, such as a progression of bitmaps.</dd>
|
|
|
|
<h3 id="graphics">2D and 3D Graphics</h3>
|
|
|
|
<p>When writing an application, it's important to consider exactly what your graphical demands will be.
|
|
Varying graphical tasks are best accomplished with varying techniques. For example, graphics and animations
|
|
for a rather static application should be implemented much differently than graphics and animations
|
|
for an interactive game. Here, we'll discuss a few of the options you have for drawing graphics
|
|
on Android and which tasks they're best suited for.
|
|
</p>
|
|
|
|
<dl>
|
|
<dt><strong><a href="{@docRoot}guide/topics/graphics/2d-graphics.html">Canvas and
|
|
Drawables</a></strong></dt>
|
|
<dd>Android provides a set of {@link android.view.View} widgets that provide general functionality
|
|
for a wide array of user interfaces. You can also extend these widgets to modify the way they
|
|
look or behave. In addition, you can do your own custom 2D rendering using the various drawing
|
|
methods contained in the {@link android.graphics.Canvas} class or create {@link
|
|
android.graphics.drawable.Drawable} objects for things such as textured buttons or frame-by-frame
|
|
animations.</dd>
|
|
|
|
<dt><strong><a href="{@docRoot}guide/topics/graphics/hardware-accel.html">Hardware
|
|
Acceleration</a></strong></dt>
|
|
<dd>Beginning in Android 3.0, you can hardware accelerate the majority of
|
|
the drawing done by the Canvas APIs to further increase their performance.</dd>
|
|
|
|
<dt><strong><a href="{@docRoot}guide/topics/graphics/opengl.html">OpenGL</a></strong></dt>
|
|
<dd>Android supports OpenGL ES 1.0 and 2.0, with Android framework APIs as well as natively
|
|
with the Native Development Kit (NDK). Using the framework APIs is desireable when you want to add a
|
|
few graphical enhancements to your application that are not supported with the Canvas APIs, or if
|
|
you desire platform independence and don't demand high performance. There is a performance hit in
|
|
using the framework APIs compared to the NDK, so for many graphic intensive applications such as
|
|
games, using the NDK is beneficial (It is important to note though that you can still get adequate
|
|
performance using the framework APIs. For example, the Google Body app is developed entirely
|
|
using the framework APIs). OpenGL with the NDK is also useful if you have a lot of native
|
|
code that you want to port over to Android. For more information about using the NDK, read the
|
|
docs in the <code>docs/</code> directory of the <a href="{@docRoot}tools/sdk/ndk/index.html">NDK
|
|
download.</a></dd>
|
|
</dl>
|
|
|