android开发(43) 动画演示,会跑的小人,从屏幕左侧跑到右侧
想做一个动画,一个会跑的小人,从屏幕右侧跑道右侧,于是做了个尝试,上图:
要完成这样需要三步:
1. 做一个 帧动画 (frame animation),由多张图片组成,组成小人连续跑动的样子。
2. 做一个 位移动画 使得小人 从左到右产生移动。
3. 在onStart里启动动画
下面分别解释:
---第一步------------------
准备多个动作的图片,写个xml animation :
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false" ><itemandroid:drawable="@drawable/loading_iv_00"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_01"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_02"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_03"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_04"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_05"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_06"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_07"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_08"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_09"android:duration="60"></item><itemandroid:drawable="@drawable/loading_iv_10"android:duration="60"></item></animation-list>
代码:
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView1 = (ImageView) findViewById(R.id.imageView1);imageView1.setImageResource(R.anim.loading);imageView1.setVisibility(View.GONE);mAnimationDrawable = (AnimationDrawable) imageView1.getDrawable();mAnimationDrawable.setOneShot(false);}
---第二步-----------------------
写 位移动画 的代码:
Animation translate = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -0.2f,Animation.RELATIVE_TO_PARENT, 1, Animation.RELATIVE_TO_SELF, 0,Animation.RELATIVE_TO_SELF, 0);translate.setDuration(3000);translate.setRepeatCount(Animation.INFINITE);
这句话的意思时,相对于 父容器 的x坐标移动,y轴不改变,一直循环
---第三步--------------------------
启动动画即可,贴完整代码:
package com.example.demo_run;import android.app.Activity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.view.ViewTreeObserver; import android.view.animation.Animation; import android.view.animation.TranslateAnimation; import android.widget.ImageView;public class MainActivity extends Activity {ImageView imageView1;AnimationDrawable mAnimationDrawable;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView1 = (ImageView) findViewById(R.id.imageView1);imageView1.setImageResource(R.anim.loading);imageView1.setVisibility(View.GONE);mAnimationDrawable = (AnimationDrawable) imageView1.getDrawable();mAnimationDrawable.setOneShot(false);}@Overrideprotected void onStart() {startAnimation();super.onStart();}private void startAnimation() {mAnimationDrawable.start();Animation translate = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -0.2f,Animation.RELATIVE_TO_PARENT, 1, Animation.RELATIVE_TO_SELF, 0,Animation.RELATIVE_TO_SELF, 0);translate.setDuration(3000);translate.setRepeatCount(Animation.INFINITE);imageView1.startAnimation(translate);imageView1.setVisibility(View.VISIBLE);} }
页面布局:
<RelativeLayout 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"android:background="#3F99C3"tools:context=".MainActivity" ><ImageViewandroid:id="@+id/imageView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_alignParentLeft="true" /></RelativeLayout>
---最后-------------------
演示代码下载。
android开发(43) 动画演示,会跑的小人,从屏幕左侧跑到右侧相关推荐
- Android10打断动画,Android开发(10) 动画(Animation)
概述 Android SDK介绍了两种Animation: Tween Animation:通过对场景里的对象不断做图像变换(平移.缩放.旋转)产生动画效果,即是一种 渐变动画 ,或者说 补间动画. ...
- android 登陆界面动画,【Android开发】动画登录页面
心得感悟 这个Demo对我还是比较有难度的,花了好久去理解.因为动画比较有趣,所以想自己改改样式,也有助于自己的理解.这是进入Android开发学习第六天了,每天的学习都是懂了很多,却还有很多不懂,还 ...
- [android开发]Animation动画的实现
Animations 一.Animations介绍 Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转.缩放.淡入淡出等, ...
- Android开发中EditText获得焦点弹出输入框改变屏幕布局的问题
在Android开发中,比较头疼的问题就是EditText总是已启动就获得焦点并弹出输入框,感觉很是不爽.而且,因为输入框的弹出,导致屏幕布局获得改变,有些空间被挤压到一起,很是难看,所以,我就上网搜 ...
- Android开发中App演示Gif效果动画的制作过程详讲
相信大家在做好App时,都想录制一段Gif动态效果.但可能苦于不知如何去实现,或者没有比较好的软件去实现.今天我给大家来详细的讲下整个过程=================== 首先,需要录制好一段视 ...
- android属性动画作用范围,Android开发之动画效果浅析(一)
程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animatio ...
- android开发 鱼动画,自定义Drawable实现灵动的红鲤鱼动画(上篇)
此篇中的小鱼动画是模仿国外一个大牛做的flash动画,第一眼就爱上它了,简约灵动又不失美学,于是抽空试着尝试了一下,如下是我用Android实现的效果图: 小鱼儿 由于整个绘制分析过程比较繁琐所以灵动 ...
- android开发之动画的详解 整理资料 Android开发程序小冰整理
2019独角兽企业重金招聘Python工程师标准>>> /** * 作者:David Zheng on 2015/11/7 15:38 * * 网站:http://www.93se ...
- Android开发之动画(转)
activity跳转的过渡效果,很漂亮,很全 注意,切换方法overridePendingTransition只能在startActivity和finish方法之后调用. 第一个参数为第一个Activ ...
最新文章
- Apache Mina开发手册
- Ubuntu16.04 64位系统下安装百度云管家
- Spring依赖注入的模式和类型
- android 定时关机 app,定时关机X下载-定时关机X(强制关机)下载v1.1 安卓版-西西软件下载...
- Java -jar与-class反编译工具procyon-decompiler的下载与使用
- python爬取酷狗音乐付费音乐包_一篇文章教会你使用Python网络爬虫下载酷狗音乐...
- vim如何修改只读文件
- echarts 立体柱状图(多个柱状图)
- JFS及JFS2文件系统
- 用C语言判断输入年份是否为闰年
- github上传文件出错
- Android返回键
- 电容笔和触控笔哪个好?平板电脑好用电容笔推荐
- 一份百投百中的计算机校招简历
- 2017-11-11 今天的工作任务
- 超详细的Python安装和环境搭建教程(2022)
- springboot使用ajax上传文件
- Git - Cloning Specific Commits 使用git clone指定的commit
- 数据泵实践 ## 用户
- 负债累累怎样白手起家?