AnimationのTranslateAnimation(パンアニメーション)
3259 ワード
TranslateAnimation(アニメーションの平行移動)は、1枚の画像または他の位置から別の位置に到達することを意味します.直接コード分析、関連する重要な属性パラメータの解釈はすべてコードの中にあります.
1、まずmainを作成する.xmlファイル.
1、まずmainを作成する.xmlファイル.
、続いてMainActivityを作成する.JAvaファイル.package com.example.dell.bitmapproject;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image =(ImageView)findViewById(R.id.image);
image.setOnClickListener(new OnClickListenerImpl());
}
private class OnClickListenerImpl implements View.OnClickListener {
@Override
public void onClick(View v) {
/*
AnimationSet ,true Animation interpolator
false 。
Interpolator , ,
accelerated( ),decelerated( ),repeated( ),bounced( ) 。
*/
AnimationSet animationSet = new AnimationSet(true);
/*
Animation
setFillAfter(boolean fillAfter)
fillAfter , ,
setFillBefore(boolean fillBefore)
fillBefore , ,
setStartOffset(long startOffset)
setRepeatCount(int repeatCount)
*/
TranslateAnimation translateAnimation = new TranslateAnimation(
//X
Animation.RELATIVE_TO_SELF, 0.0f,
//X
Animation.RELATIVE_TO_SELF,0.5f,
//y
Animation.RELATIVE_TO_SELF,0.0f,
//y
Animation.RELATIVE_TO_SELF,1.5f);
//3
translateAnimation.setDuration(2000);
// fillAfter , ,
animationSet.setFillAfter(true);
// AlphaAnimation AnimationSet
animationSet.addAnimation(translateAnimation);
//
MainActivity.this.image.startAnimation(animationSet);
}
}
}