制作一个简单的倒计时动画
今天我使用Android Studio制作了一个简单的倒计时动画,算是练习一下属性动画的使用吧,先看一个效果吧,点击播放倒计时动画按钮后可以播放倒计时动画
实现方式:
第一步:使用Android Studio创建一个Android工程,并且在drawable文件夹下放入四张用于设置倒计时动画的图片
第二步:修改activity_main.xml中的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.fyt.animationdemo.MainActivity"android:orientation="vertical"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="播放倒计时动画"android:onClick="click"/><ImageViewandroid:id="@+id/iv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"/></LinearLayout>
第三步:修改MainActivity.java中的代码
package com.fyt.animationdemo;import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.ImageView;public class MainActivity extends Activity {private ImageView iv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获得布局文件上的ImageView控件iv = (ImageView) findViewById(R.id.iv);}//实现倒计时效果的按钮响应函数public void click(View view) {//创建播放倒计时动画的线程createAnimationThread();}//创建消息处理器Handler handler = new Handler(){//创建数组,保存图片资源的idfinal int[] arrayId = {0, R.drawable.three, R.drawable.two, R.drawable.one, R.drawable.start};//处理从主线程中发过来的消息@Overridepublic void handleMessage(Message msg) {//获得从子线程中发过来的数据int index = (int) msg.obj;//设置ImageView控件中显示的图片iv.setImageResource(arrayId[index]);//设置图片的缩放比例iv.setScaleX(0);iv.setScaleY(0);//设置x方向上的缩放动画ObjectAnimator oa1 = ObjectAnimator.ofFloat(iv, "scaleX", 0, 1);oa1.setDuration(500);//设置y方向上的缩放动画ObjectAnimator oa2 = ObjectAnimator.ofFloat(iv, "scaleY", 0, 1);oa2.setDuration(500);//创建动画师集合AnimatorSet set = new AnimatorSet();//设置所有的动画一起播放set.playTogether(oa1, oa2);//播放动画set.start();}};//创建播放倒计时动画的线程public void createAnimationThread() {//创建一个子线程Thread thread = new Thread(){//执行子线程@Overridepublic void run() {for (int i = 1; i <= 4; i++) {//创建消息对象Message message = handler.obtainMessage();//设置消息对象携带的数据message.obj = i;//将消息发送到主线程的消息处理器handler.sendMessage(message);try {//暂停500毫秒sleep(500);} catch (InterruptedException e) {e.printStackTrace();}}}};//启动子线程thread.start();}
}
最后一步:编译运行
制作一个简单的倒计时动画相关推荐
- 用计算机制作动画,如何使用制作工具制作一个简单的Flash动画-电脑自学网
怎么制作Flash动画?通过Adobe Flash我们可以制作出非常有趣好看的动画,也可以制作一键简单的小动画,下面给大家介绍如何使用制作工具制作一个简单的Flash动画. 操作方法: 1.打开fla ...
- 制作一个简单的canvas动画
制作一个简单的canvas动画 作者:旺仔 一上来先话不多说上代码,代码能看的懂得,ok,就当我下面所有的内容为废话,代码看的不太懂的,没关系我会一点一点让你懂,不过前提是你有一定的html+css+ ...
- ppt怎么制作一个简单的红绿灯动画?
红绿灯在生活中是很常见的一种,我们有时做课件时需要用到红绿灯,那么该怎样做一个简单的红绿灯呢?下面就给大家介绍下利用ppt做一个建议的动画红绿灯,下面我们就来看看详细的教程 1.首先,我们需要做一个红 ...
- 电子脑PHP动画制作,PS简单制作一个动态的字体动画
这篇教程是向PHP中文网的朋友分享PS简单制作一个动态的字体动画方法,教程制作出来的字体动画非常漂亮,难度不是很大,来看看吧 动态的文字比静态的文字更加吸引人的目光.如果在平时的海报中,在平时的促销活 ...
- pr如何跳到关键帧_PR教程 如何利用pr制作一个简单的动画
Adobe Premiere Pro简称PR,是一款非常不错的视频制作编辑软件,如何如何利用pr制作一个简单的动画,这里小编为大家带来了pr动画制作教程--利用pr制作动画,一起来学习一下吧! Ado ...
- 数字信号 fft c源码_如何制作一个简单的人体动态识别微信小程序(附源码)
知乎小白第一次写专栏,还请多指教. 先放成果. GitHub源码: lrioxh/HAR-applet-of-Wechatgithub.com b站演示视频: 居然不需要服务器?!如何制作一个简单的 ...
- Python制作一个简单的抽奖软件(二)
Python制作一个简单的抽奖软件(二) 认识QT 因为都对 QT和tkinter都没用过,之前简单使用tkinter后发现,界面调整不太好弄.然后度娘了之后,QT是强大GUI库之一,很多人都推荐它. ...
- PR教程:1分钟制作一个简约文字小动画视频开场片头
PR教程:1分钟制作一个简约文字小动画视频开场片头 微信公众号:知音后期,一个简单直接分享干货的公众号!
- 使用 Flutter 制作一个简单的笑话生成器应用程序
在本教程中,我将向您展示如何使用 Flutter 制作一个简单的笑话生成器应用程序 对于这个项目,我们将从 RESTful API 获取数据 API的链接: 随机笑话 对于这个项目,我不会关注应用程序 ...
最新文章
- 学习python好学吗-零基础学python难吗?好学吗?
- 第七章 综合练习 第四题
- SpringBoot中英文切换/国际化——java后端怎么用预置文本的内容替换web网页内容(Resource Bundle)
- SQL Server 2000从入门到精通3
- LeetCode 1409. 查询带键的排列(map模拟)
- TiDB 源码阅读系列文章(十八)tikv-client(上) 1
- 5岁自学python编程-python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹...
- maya拓扑插件_3D角色模型,Maya、Zbrush人头建模
- html注册页面代码实现案例,H5制作一个注册页面的代码实例
- arcgis中python计算面积的表达式_ArcGIS字段计算中的Python语法错误
- 售前笔记(三)——PPT方案
- 英特尔服务器主板型号,支持英特尔® Server Board S2600JF
- 数字逻辑综合工具-DC-04 ——怎样增加时序约束(Timing Constraints)
- 叉乘点乘混合运算公式_小学数学所有公式和顺口溜都在这里了,假期让孩子背熟!...
- 猫眼数据SQLITE保存格式
- 视频教程-从理论到实战:在园区网中部属IPv6-网络技术
- 利用MP实现分页查询
- 浅析深究什么是SOA?
- 再见了新阳丽舍,再见了新雅阁301
- 使用容器方式进行编译的经验和技巧小结