Running Pig,顾名思义就是“奔跑的猪”,就是一个小猪从屏幕左边奔跑至右边(草坪),再从右边奔跑至左边,循环往复。

这是我之前在网上学习时学到的一个有趣的动画,写下来跟大家分享一下~:

首先要让小猪在草坪上奔跑,需要有草坪的图片,然后还要有小猪的图片:

将图片导入Demo中,要让小猪的腿动起来需要使用逐帧动画,而要让小猪奔跑进行位移的话则要使用补间动画。

1.首先定义逐帧动画的XML文件放置于drawable文件夹中,并设置每个静态画面对应的资源及时长:

pig_toleft.xml:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/pig3" android:duration="50"/><item android:drawable="@drawable/pig4" android:duration="50"/>
</animation-list>

pig_toright.xml:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/pig1" android:duration="50"/><item android:drawable="@drawable/pig2" android:duration="50"/>
</animation-list>

2.在布局文件中放置小猪图片资源,还有草坪图片作为背景颜色:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@mipmap/background"
    tools:context="com.shen.Running Pig.MainActivity"><ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ivPig"
        android:layout_marginTop="200dp"
        android:background="@drawable/pig_toright"/></LinearLayout>

3.接着就是要让小猪跑动起来啦:

public class MainActivity extends AppCompatActivity  {private ImageView ivPig;private TranslateAnimation toRightAnim;private TranslateAnimation toLeftAnim;private AnimationDrawable animationDrawable;@Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);
   ivPig = (ImageView) findViewById(R.id.ivPig);
   //让小猪的腿动起来animationDrawable = (AnimationDrawable) ivPig.getBackground();animationDrawable.start();
    //向右平移的动画设置toRightAnim = new TranslateAnimation(0,1000,0,0);toRightAnim.setDuration(2000);
    //向左平移的动画设置toLeftAnim = new TranslateAnimation(1000,0,0,0);toLeftAnim.setDuration(2000);
    //监听小猪向右平移的动作toRightAnim.setAnimationListener(new Animation.AnimationListener() {@Override
            public void onAnimationStart(Animation animation) {}
        //当动画结束后自动触发该方法@Override
            public void onAnimationEnd(Animation animation) {
       //当小猪向右平移结束后将小猪的方向转换成向左ivPig.setBackgroundResource(R.drawable.pig_toleft);       //小猪的腿动起来animationDrawable.start();
        //开始向左移动ivPig.startAnimation(toLeftAnim);}@Override
            public void onAnimationRepeat(Animation animation) {}});
    //监听小猪向左平移的动作toLeftAnim.setAnimationListener(new Animation.AnimationListener() {@Override
            public void onAnimationStart(Animation animation) {}@Override
            public void onAnimationEnd(Animation animation) {
       //在小猪向左平移结束后再将其方向转换成向右ivPig.setBackgroundResource(R.drawable.pig_toright);animationDrawable = (AnimationDrawable) ivPig.getBackground();animationDrawable.start();ivPig.startAnimation(toRightAnim);}@Override
            public void onAnimationRepeat(Animation animation) {}});ivPig.startAnimation(toRightAnim);}
}

好啦,这样做好以后就可以看到小猪在草坪上左右左右来回跑动啦~

android小动画之Running Pig相关推荐

  1. android 图标弹跳动画,动效教程 | 5 分钟快速制作弹跳加载小动画

    前言 今天墨染哥教你如何5分钟快速制作一个弹跳的加载小动画,如下图所示,这个小动画要快速做出来,需要解决解决两个技术难点,第一个是食物图标的弹跳,第二个是文本的弹跳. 食物图标的弹跳 话不多说,先看看 ...

  2. android 图标弹跳动画,动效教程 | 5 分钟快速做个弹跳加载小动画

    小编:APP的动效现今是越来越重要了,以前是加分项,现在是必会技能-今天给大家带来的是AE动效教程 -- 5 分钟快速做个弹跳加载小动画,一起来学习学习吧-- 前言 哈喽,今天给大家解禁一个墨染动效特 ...

  3. Android自定义View:一个精致的打钩小动画

    Github地址:TickView,一个精致的打钩小动画 github.com/ChengangFen- 1. 前言 最近在看轻芒杂志的时候,看到一个动画很带感很精致: 恰好这段时间也在看[HenCo ...

  4. android 三维动画效果,9款令人惊叹的HTML5 3D动画应用

    原标题:9款令人惊叹的HTML5 3D动画应用 之前我们已经向大家分享了很多HTML5动画应用了,大部分都非常炫酷,也有一小部分是很实用的.今天我们要向各位HTML5动画爱好者介绍更多的HTML5 3 ...

  5. Android之动画精讲一:从setTranslationX谈属性动画和view动画的区别

    转载:http://blog.csdn.net/yanzi1225627/article/details/47850471 最近又用到了动画,决定把几次项目里用到的动画走过的弯路总结一下,顺便梳理下a ...

  6. android logo:内核、android开机动画

    android logo:内核.android开机动画 关键词:android 开机logo  开机动画 initlogo.rle   bootanimation  desc.txt 平台信息: 内核 ...

  7. android 点赞动画_Android MotionLayout动画:续写ConstraintLayout新篇章

    本文作者 作者:新小梦 链接: https://juejin.im/post/6854573206653812743 本文由作者授权发布. 0概述 MotionLayout作为ConstraintLa ...

  8. android+属性动画+高度,android 自定义view+属性动画实现充电进度条

    近期项目中需要使用到一种类似手机电池充电进度的动画效果,以前没学属性动画的时候,是用图片+定时器的方式来完成的,最近一直在学习动画这一块,再加上复习一下自定义view的相关知识点,所以打算用属性动画和 ...

  9. Android 开机动画(bootanimation)启动

    Android 开机动画(bootanimation)启动 Android 开机动画启动 前言 一.简单的对话 二.过程 总结 前言 开机动画应该算是我接触的第一个AOSP的Native程序,网上讲解 ...

最新文章

  1. php和python哪个工资高-Java、Python、Php学哪个好,哪个更有前景?
  2. 静态反调试技术(3)
  3. boost::detail模块实现宏BOOST_DETAIL_IS_XXX_DEF的测试程序
  4. [Leedcode][JAVA][第136题][第137题][只出现一次的数字][位运算][HashSet][HashMap]
  5. h5 网站滚动到某个位置
  6. 基因表达热图聚类并增加行列注释
  7. 软考信息安全工程师备考笔记7:第七章信息系统安全工程备考要点
  8. tomcat 占用的内存越来越大_智能手机内存为什么越来越大 就这三点原因
  9. 中国宽带最新速率状况报告 你家达标了吗?
  10. 美团员工被指用钓鱼邮件获拼多多薪资;华为回应暂无其它手机厂商接入HarmonyOS;GCC 放弃版权转让政策|极客头条...
  11. matlab虚拟现实之V-Realm Builder2使用NavigationInfo精确定位、建模
  12. 如何成为一个架构师?
  13. 平面向量内积坐标公式推导_向量的数量积的坐标运算公式是如何推导出的 两个向量的向量积公式是怎...
  14. html 动态导航菜单,导航菜单,css3,javascript,响应式菜单,html,css
  15. 计算机组装维修diy,ITX装机教程实录:三千元ITX迷你电脑组装电脑全过程-DIY装机...
  16. 关于android某些手机java.lang.UnsatisfiedLinkError: No implementation found for ......的问题
  17. python中gzip库用法详解(压缩和解压缩)
  18. JS_画中画,video视频播放器
  19. 践行支付为民 线上支付开通ETC线上申卡、支付
  20. 企业微信给用户带来的是社交减负还会是社交焦虑?

热门文章

  1. 调用MapReduce对文件各个单词出现的次数进行统计
  2. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第二章 各种各样的数学
  3. 速锐得解码东风雪铁龙CAN网特点及休眠唤醒应用于驾培驾考
  4. 谷歌浏览器打开本地堡垒机应用发布服务器cmd的方法
  5. 【海量数据学院】DBA学习方法论系列之:明确的学习目标
  6. 如何简单的运营企业群呼系统呼叫中心系统
  7. 【FFmpeg】【转载】图像拼接:画中画连麦
  8. 2020计算机保研经历
  9. 单应性矩阵的理解及求解3
  10. 6-1 jmu-python-组合数据类型-1.计算坐标点欧氏距离 (10 分)