当前位置: 首页 > >

Android动画基础【1】??(逐帧动画)

发布时间:

动画的意义:

1. 增强视觉效果 ?


2. 更好的引导用户


整个课程目标:?

1. 了解定义逐帧动画的方法


2. 了解定义视觉动画的方法


3. 了解定义属性动画的方法


整个课程的学*内容:

1. 逐帧动画


2. 视觉动画系统


3. 属性动画系统


这里首先记录学*逐帧动画相关知识

逐帧动画也叫作图片动画。通过在一个固定区域然后一张一张的加载图片而产生的动画效果(每一张图片就是一帧),所以称为逐帧动画。


我们在Android程序中使用逐帧动画主要涉及两个点: 1. AnimationDrawable类 ?2. 根目录


使用步骤:


1. 先准备几张我们要做逐帧动画效果显示的图片,然后存放在/res/drawable目录下。


2. 在/res/drawable目录新建一个xml文件,根目录设为


3. 将上面的xml设为view视图的背景


4. 然后在代码中获取AnimationDrawable对象后进行相关操作。


?


下面请看示例:


frame_1、frame_2、frame_3为我们准备的帧图片。


drawable目录下的xml文件: loading.xml




android:drawable="@drawable/frame_1"
android:duration="100"/>

android:drawable="@drawable/frame_2"
android:duration="100"
/>

android:drawable="@drawable/frame_3"
android:duration="100"/>


布局文件:activity_main.xml



android:id="@+id/activity_frame_animation"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

android:id="@+id/view"
android:background="@drawable/loading"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"/>

android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/buttonBarStyle">

android:id="@+id/btnStart"
style="?android:attr/buttonBarButtonStyle"
android:text="@string/start"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content" />

android:id="@+id/btnStop"
style="?android:attr/buttonBarButtonStyle"
android:text="@string/stop"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content" />




主活动MainActivity.java:


public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View view = findViewById(R.id.view);
final AnimationDrawable animationDrawable = (AnimationDrawable) view.getBackground();
Button startButton = findViewById(R.id.btnStart);
Button stopButton = findViewById(R.id.btnStop);

startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
animationDrawable.start();
}
});

stopButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
animationDrawable.stop();
}
});
}
}

运行效果:


传送门:https://blog.csdn.net/yz_cfm/article/details/82024436(Android动画基础【2】??(视觉动画系统之透明度动画))



友情链接: