目录
1.帧动画 (帧动画的资源文件,放在drawable文件夹下)
5.在java文件中,获取imageview,并对其background进行动画设置
3.最后是我们的MainActivity.java,创建一个FrameLayout,添加View,对触摸事件中按下的 事件做处理,显示控件以及开启动画
3.补间动画 (补间动画的资源文件,放在 anim文件夹下)
3.使用AnimationUtils加载动画效果引用上方的xml文件
1.帧动画 (帧动画的资源文件,放在drawable文件夹下)
介绍
将连续的图片进行堆叠,然后翻动,模拟成动画的效果
1.创建一个项目
2.导入资源, 将图片资源放入 mipmap 文件夹下
3.编写资源文件 在drawable文件夹创建
android:drawanle设置图片
android:duration设置帧率
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/img_zhuan1"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan2"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan3"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan4"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan5"
android:duration="80"/>
</animation-list>
4.在xml页面,添加<Imageview> 并设置其background
<ImageView
android:id="@+id/im_cat"
android:layout_width="340dp"
android:layout_height="340dp"
android:background="@drawable/cat_gif"/>
5.在java文件中,获取imageview,并对其background进行动画设置
获取imageview
定义一个AnimationDrawable
之后getbackground();
public class MainActivity extends AppCompatActivity {
private ImageView im_cat;
private AnimationDrawable anim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
im_cat = findViewById(R.id.im_cat);
anim = (AnimationDrawable) im_cat.getBackground();
}
}
6.开启动画
anim.start();开启动画
anim.stop();暂停动画
public class MainActivity extends AppCompatActivity {
private ImageView im_cat;
private AnimationDrawable anim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
im_cat = findViewById(R.id.im_cat);
anim = (AnimationDrawable) im_cat.getBackground();
anim.start();
}
}
2.帧动画的使用效果(二)
在指定地方播放帧动画
代码实现
1.首先在drawable里创建一个xml文件
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/img_zhuan1"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan2"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan3"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan4"
android:duration="80"/>
<item android:drawable="@mipmap/img_zhuan5"
android:duration="80"/>
</animation-list>
2. 接着我们来写一个自定义的ImageView
先继承 androidx.appcompat.widget.AppCompatImageView
之后再实现他的三个构造方法
public class FrameView extends androidx.appcompat.widget.AppCompatImageView{
private AnimationDrawable anim;
public FrameView