フレーム単位のアニメーション-簡単に使用
2326 ワード
1.フレームごとのアニメーションを実現する方式は2種類ある
A.xmlリソースファイル方式
B.コード方式
2.xmlリソースファイル方式
まずres/drawableにxmlファイルを新規作成し、a/b/cの3枚の画像を用意します.
そしてコードに設定
3.コード方式:
4.ok
A.xmlリソースファイル方式
B.コード方式
2.xmlリソースファイル方式
まずres/drawableにxmlファイルを新規作成し、a/b/cの3枚の画像を用意します.
-
-
-
そしてコードに設定
// -
imag1.setBackgroundResource(R.drawable.frame_animation); // , setBackground
kz1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AnimationDrawable animationDrawable1 = (AnimationDrawable) imag1.getBackground();
if (tag1 == 0) {
animationDrawable1.start(); //
tag1 = 1;
} else {
animationDrawable1.stop();
tag1 = 0;
}
}
});
3.コード方式:
// - A
AnimationDrawable animationDrawable2 = new AnimationDrawable();
Drawable drawablea = getResources().getDrawable(R.drawable.a);
Drawable drawableb = getResources().getDrawable(R.drawable.b);
Drawable drawablec = getResources().getDrawable(R.drawable.c);
animationDrawable2.addFrame(drawablea, 120); // ,
animationDrawable2.addFrame(drawableb, 120);
animationDrawable2.addFrame(drawablec, 120);
// - A
imag2.setBackground(animationDrawable2);
animationDrawable2.setOneShot(false);
kz2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AnimationDrawable animationDrawable2 = (AnimationDrawable) imag2.getBackground();
if (tag2 == 0) {
animationDrawable2.start();
tag2 = 1;
} else {
animationDrawable2.stop();
tag2 = 0;
}
}
});
4.ok