Android 动画之帧动画用法详解

您所在的位置:网站首页 120帧动漫图片 Android 动画之帧动画用法详解

Android 动画之帧动画用法详解

2024-07-14 02:47| 来源: 网络整理| 查看: 265

本文目录 帧动画概念帧动画实现方法1:xml实现帧动画第一步:导入帧动画素材第二步:创建帧动画文件第三步:布局文件和Activity 方法2:用Java代码实现帧动画

推荐阅读: Android动画之补间动画用法最全详解 Android 属性动画:一文让你彻底了解和掌握属性动画用法

帧动画概念

在Android中,帧动画的本质是把一组预先准备好的图片循环切换播放,造成一种动画效果。 在这里插入图片描述

帧动画实现

实现帧动画有两种方式,即xml和java

方法1:xml实现帧动画 第一步:导入帧动画素材

把准备的素材放到drawable目录 在这里插入图片描述 在这里插入图片描述

第二步:创建帧动画文件

在drawable目录下创建一个animation_flower.xml的文件,往文件中添加

// 是否只播放一次 false 循环播放 第三步:布局文件和Activity

布局文件:布局文件中添加两个点击按钮和一个图片控件 在这里插入图片描述

在Activity中添加启动&停止动画代码

public class MainActivity extends AppCompatActivity { Button mButtonStart; Button mButtonStop; ImageView mImageViewShow; AnimationDrawable mAnimationDrawable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImageViewShow = findViewById(R.id.image); // 获取动画对象 mAnimationDrawable = (AnimationDrawable) mImageViewShow.getBackground(); mButtonStart = findViewById(R.id.button); mButtonStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //开始动画 mAnimationDrawable.start(); } }); mButtonStop = findViewById(R.id.button2); mButtonStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //结束动画 mAnimationDrawable.stop(); } }); } } 方法2:用Java代码实现帧动画

Java代码实现帧动画跟xml很类似,只有Activity部分有点区别

public class MainActivity extends AppCompatActivity { Button mButtonStart; Button mButtonStop; ImageView mImageViewShow; AnimationDrawable mAnimationDrawable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImageViewShow = findViewById(R.id.image); // 获取动画对象 mAnimationDrawable =new AnimationDrawable(); mAnimationDrawable.addFrame(getResources().getDrawable(R.drawable.img01),200); mAnimationDrawable.addFrame(getResources().getDrawable(R.drawable.img02),200); mAnimationDrawable.addFrame(getResources().getDrawable(R.drawable.img03),200); mAnimationDrawable.addFrame(getResources().getDrawable(R.drawable.img04),200); mAnimationDrawable.addFrame(getResources().getDrawable(R.drawable.img05),200); mAnimationDrawable.addFrame(getResources().getDrawable(R.drawable.img06),200); mAnimationDrawable.setOneShot(false);//设置循环播放 mImageViewShow.setBackground(mAnimationDrawable); mButtonStart = findViewById(R.id.button); mButtonStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //开始动画 mAnimationDrawable.start(); } }); mButtonStop = findViewById(R.id.button2); mButtonStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //结束动画 mAnimationDrawable.stop(); } }); } }

作者:lucashu 出处:https://blog.csdn.net/huweiliyi/article/details/105669298 原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3