Androidはアニメーションを最初から重要視
- - PR -
「アニメーション」機能は、Androidが提供するそのほかの機能に比べると、実用度は低いように感じられますが、実はバージョン1.0よりも以前からアニメーションはAPIとして開発者に提供されています。
その後、追加された機能に優先して、アニメーションが初めから用意されているのは、なぜでしょうか。
それは、「Androidにとってアニメーション機能は重要であるから」にほかなりません。
よくAndroidと比較されるiPhone/iPadは、素晴らしいアニメーションのエフェクトを持つGUIが備わっています。「いまどきのスマートフォンやモバイルデバイスは、カッコいいエフェクトが備わっていないとエンドユーザーに選ばれない」ということかもしれません。
Androidはシステム全体を通してアニメーションが駆使できるように設計されています。「メニューを開く」「アクティビティを起動する」「ダイアログを表示する」というような基本的な動作にもアニメーションが使用されています。
アクティビティの切り替え時や、ダイアログ表示時のアニメーションは次回解説します。今回は、GUIコンポーネントに対するアニメーションを見ていきましょう。
以下のリンクより、今回のサンプルアプリケーションをダウンロードしておいてください。
Androidのアニメーションの4つの基本動作と合成
Androidのアニメーションは、「android.view.animation」パッケージで実現します。このパッケージには、Animationクラスと、そのサブクラスが用意されています。
| 表1 アニメーション一覧 | ||||||||||||||
|
それでは、1つずつ見ていきましょう。
■ 【1】フェイドイン/アウト「AlphaAnimation」
アニメーション開始時とアニメーション終了時の透明度を設定して、フェイドイン/フェイドアウトを表現します。
「AlphaAnimation」機能のみ、ソースコードと画面キャプチャを掲示しておきます。それ以外は、サンプルをダウンロードして中身をご覧ください。
package com.example.android.animation;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.widget.EditText;
public class AlphaAnimationExample extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alpha_animation_example);
}
public void onClick(View v) {
float fromAlpha = Float.parseFloat(((EditText)findViewById(R.id.fromAlpha)).getText().toString());
float toAlpha = Float.parseFloat(((EditText)findViewById(R.id.toAlpha)).getText().toString());
AlphaAnimation animation = new AlphaAnimation(fromAlpha, toAlpha);
animation.setDuration(3000);
v.startAnimation(animation);
}
}
ほかのサンプルのソースコードも同じ構造です。
![]() |
| 図1 アニメーションの動作確認画面 |
今回のサンプルアプリのアニメーション確認画面は、すべてこのようなレイアウトです。左側に並んでいる入力コンポーネントは、各Animationクラスのコンストラクタに渡す引数です。AlphaAnimationは開始透明度と終了透明度を指定可能で、図1は不透明から、90%透明にアニメーションします。
| 表2 AlphaAnimationのコンストラクタ | ||||||
|
すべてのAnimationクラスには複数のコンストラクタが用意されています。ここではコーディングレベルで使用する、最も引数の多い(ほかのオーバーロードコンストラクタを包含する)コンストラクタについて説明します。
| Index | ||||||||
|
||||||||
Androidで動く携帯Javaアプリ作成入門 バックナンバー 連載インデックスへ»
- 第1回 Android Market配布を目指しEclipseでHelloWorld!
- 第2回 Androidアプリ作成の基本“Activity”とは何か?
- 第3回 ブラウザや地図、ストリートビューの基、Intentとは?
- 第4回 簡単でワクワクするAndroidウィジェット10連発!
- 第5回 Androidアプリの使いやすさを左右する5つのレイアウト
- 第6回 AndroidでSQLiteのDB操作をするための基礎知識
- 第7回 常駐アプリが作成できるAndroidの“サービス”とは
- 第8回 アプリを国際化してAndroid Marketから世界へ発信
- 第9回 Netbookにも広まるAndroidで、かつてないWeb体験を
- 第10回 Androidのホーム画面に常駐するアプリを作るには
- 第11回 Android 1.6のジェスチャーとテキスト読み上げを使う
- 第12回 SurfaceViewならAndroidで高速描画ゲームが作れる
- 第13回 iPhoneより多彩なAndroidのセンサをアプリで操作
- 第14回 Android 2.1の新機能で作る、美しく燃える“待ち受け”
- 第15回 Android NDKでJNIを使用してアプリを高速化するには
- 第16回 地図/位置情報/GPSを使うAndroidアプリを作るには
- 第17回 もはやケータイに必須のカメラをAndroidで制御しよう
- 第18回 開発者が知っておきたいAndroid 2.2新機能 12連発
- 第19回 XMLレイアウトでAndroidアプリに“設定画面”を追加
- 第20回 Androidアプリで“アニメーション”するための基礎知識
- 第21回 アニメーションでAndroidに独創的な画面エフェクトを
- 第22回 開発者が知って得するAndroid 2.3の新機能18選
- 第23回 Android 3.0の新APIで簡単ドラッグ&ドロップ実装
- 第24回 Androidの画面の大きさの違いを解決するFragments
- 第25回 Compatibility packageで2.x系でもマルチサイズ対応
- 第26回 開発者が知らないと損するAndroid 4.0の新機能44選
- 第27回 Android 4.0でアプリ開発を始めるための環境構築
- 第28回 Android 4.0で注目の顔認識をアプリに組み込むには
- 第29回 Androidのウィジェットにノーティフィケーションするには
- 第30回 Androidアプリでマルチメディアを扱うための基礎知識
- 第31回 Android 4.0のサービス/プロセス間通信の基本
| ご意見、ご感想は Smart&Social 会議室へどうぞ |
| Smart&Social フォーラム トップページへ |
TechTargetジャパン
- JenkinsでCIすればAndroidアプリ開発はもう怖くない (2012/5/23)
Androidアプリ開発における継続的インテグレーションの重要性やJenkinsの利点を解説し、環境構築の仕方や使い方の手順を紹介します - Open Graphアプリを作りApp Centerに登録するには (2012/5/18)
ユーザーの活動を共有できるFacebookの新機能を使ったアプリの開発方法と新しいアプリストアへの登録手順を解説 - Bootstrap、Hogan.js、FinagleなどTwitter系OSS (2012/5/15)
Twitterのアーキテクチャやオープンソースへの取り組みなどの講演模様をお届け。OpenJDKやStorm、Gizzard、Twitter4Jも注目 - ソーシャルゲーム/スマホ開発イベント記事が人気 (2012/5/11)
4月はソーシャルゲームの開発者向けイベントや、Webとネイティブの対決が熱かった! UnityやPerfumeも見逃せない!?
|
|
キャリアアップ
スポンサーからのお知らせ
イベントカレンダー
- - PR -


