用代码编写 写成一个方法
public void runFrame(View view) {
//完全编码实现的动画效果
AnimationDrawable anim = new AnimationDrawable();
for (int i = 1; i <= 4; i++) {
//根据资源名称和目录获取R.java中对应的资源ID
int id = getResources().getIdentifier("f" + i, "drawable", getPackageName());
//根据资源ID获取到Drawable对象
Drawable drawable = getResources().getDrawable(id);
//将此帧添加到AnimationDrawable中
anim.addFrame(drawable, 300);
}
anim.setOneShot(false); //设置为loop
image.setBackgroundDrawable(anim); //将动画设置为ImageView背景
anim.start(); //开始动画
}
//用xml文件编写
<!-- <item android:drawable="@drawable/suo1" android:duration="65"></item>
<item android:drawable="@drawable/suo2" android:duration="65"></item>
<item android:drawable="@drawable/suo3" android:duration="65"></item>
<item android:drawable="@drawable/suo4" android:duration="65"></item>
<item android:drawable="@drawable/suo1" android:duration="65"></item>
<item android:drawable="@drawable/suo2" android:duration="65"></item>
<item android:drawable="@drawable/suo3" android:duration="65"></item>
</animation-list>
frameAnim = (AnimationDrawable) getResources().getDrawable(R.drawable.bullet_anim);
// ImageView将AnimationDrawable设置为背景
mImageView = (ImageView) findViewById(R.id.iv_anim_player_screen);
mImageView.setBackground(frameAnim);
<pre name="code" class="java"> frameAnim.start;
逐帧动画(2种方式)
最新推荐文章于 2023-12-16 23:26:37 发布