アニメーションクラス

967 views

Published on

アニメーションクラスの説明

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
967
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

アニメーションクラス

  1. 1. Android API 勉強会アニメーション
  2. 2. Androidのアニメーションは、「android.view.animation」パッケージで実現しま す。クラス名 概要Animation すべてのアニメーションの基底の抽象クラスAlphaAnimation フェイドイン/アウトRotateAnimation 回転ScaleAnimation 拡大・縮小TranslateAnimation 移動AnimationSet 複数のアニメーションを合成
  3. 3. フェイドイン/アウト 「AlphaAnimation」コンストラクタ引数 説明float fromAlpha アニメーション開始時の透明度を0.0~1.0の間で指定。 0.0は完全透明、1.0は完全不透明float toAlpha アニメーション終了時の透明度を0.0~1.0の間で指定。 0.0は完全透明、1.0は完全不透明
  4. 4. 回転できる「RotateAnimation」 コンストラクタ引数 説明 float fromDegrees 開始角度 float toDegrees 終了角度 int pivotXType 回転のX軸のタイプ float pivotXValue 回転のX軸の値 int pivotYType 回転のY軸のタイプ float pivotYValue 回転のY軸の値
  5. 5. 回転軸タイプの解説 回転軸タイプには、● 絶対(定数「Animation.ABSOLUTE」)、 ● 自分を基準に相対(定数 「Animation.RELATIVE_TO_SELF」)、 親を基準に相対(定数 ● 「Animation.RELATIVE_TO_PARENT」) が指定可能です。
  6. 6. 拡大・縮小できる 「ScaleAnimation」コンストラクタ引数 説明float fromX 開始時のXスケールfloat toX 終了時のXスケールfloat fromY 開始時のYスケールfloat toY 終了時のYスケールint pivotXType 拡大のX軸のタイプfloat pivotXValue 拡大のX軸の値int pivotYType 拡大のY軸のタイプfloat pivotYValue 拡大のY軸の値
  7. 7. 移動元、移動先を指定「TranslateAnimation」コンストラクタ引数 説明int fromXType 移動元X座標のタイプfloat fromXValue 移動元X座標の値int toXType 移動先X座標のタイプfloat toXValue 移動先X座標の値int fromYType 移動元Y座標のタイプfloat fromYValue 移動元Y座標の値int toYType 移動先Y座標のタイプfloat toYValue 移動先Y座標の値
  8. 8. 複数のアニメーションを合成 「AnimationSet」コンストラクタ引数 説明boolean shareInterpolator アニメーションに変化を加える Interpolatorを共有するかどうか
  9. 9. AnimationSetのコード例public void onClick(View v) { // 【1】インスタンスを生成 AnimationSet set = new AnimationSet(true); // 【2】基本のアニメーションを生成 AlphaAnimation alpha = new AlphaAnimation(0.9f, 0.2f); RotateAnimation rotate = new RotateAnimation(0, 360, 50, 25); ScaleAnimation scale = new ScaleAnimation(0.1f, 1, 0.1f, 1); TranslateAnimation translate = new TranslateAnimation(50, 0, 200,0); // 【3】生成したアニメーションを追加 set.addAnimation(alpha); set.addAnimation(rotate); set.addAnimation(scale); set.addAnimation(translate); // 【4】アニメーション時間を設定して動作開始 set.setDuration(3000); v.startAnimation(set);}
  10. 10. コードの例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); }}

×