一.先看下主页面的布局

<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"tools:context=".MainActivity" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal" ><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click1"android:text="透明" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click2"android:text="旋转" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click3"android:text="缩放" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click4"android:text="位移" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click5"android:text="一起执行" /></LinearLayout><ImageViewandroid:id="@+id/iv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/ic_launcher" /></RelativeLayout>

二.在看下xml动画文件,在res下创建anim文件夹(anim固定写法),然后添加后面5个xml动画文件:

1.alpha.xml代码

<?xml version="1.0" encoding="utf-8"?>
<!-- %指的是比例 p指的是相对于父类 -->
<alphaandroid:fromAlpha="1.0"android:toAlpha="0.0"android:duration="2000"android:repeatMode="reverse"android:repeatCount="1"xmlns:android="http://schemas.android.com/apk/res/android">
</alpha>

2.rotate.xml代码

<?xml version="1.0" encoding="utf-8"?>
<!-- %指的是比例 p指的是相对于父类 -->
<rotateandroid:fromDegrees="0"android:toDegrees="360"android:pivotX="50%"android:pivotY="50%"android:repeatCount="1"android:repeatMode="reverse"android:duration="2000"xmlns:android="http://schemas.android.com/apk/res/android">
</rotate>

3.scale.xml代码

<?xml version="1.0" encoding="utf-8"?>
<!-- %指的是比例 p指的是相对于父类 -->
<scaleandroid:fromXScale="1.0"android:toXScale="2.0"android:fromYScale="1.0"android:toYScale="2.0"android:pivotX="50%"android:pivotY="50%"android:repeatMode="reverse"android:repeatCount="1"android:duration="2000"xmlns:android="http://schemas.android.com/apk/res/android">
</scale>

4.set.xml代码

<?xml version="1.0" encoding="utf-8"?>
<!-- %指的是比例 p指的是相对于父类 -->
<set><alphaxmlns:android="http://schemas.android.com/apk/res/android"android:duration="2000"android:fromAlpha="1.0"android:repeatCount="1"android:repeatMode="reverse"android:toAlpha="0.0" ></alpha><rotatexmlns:android="http://schemas.android.com/apk/res/android"android:duration="2000"android:fromDegrees="0"android:pivotX="50%"android:pivotY="50%"android:repeatCount="1"android:repeatMode="reverse"android:toDegrees="360" ></rotate><scalexmlns:android="http://schemas.android.com/apk/res/android"android:duration="2000"android:fromXScale="1.0"android:fromYScale="1.0"android:pivotX="50%"android:pivotY="50%"android:repeatCount="1"android:repeatMode="reverse"android:toXScale="2.0"android:toYScale="2.0" ></scale><translatexmlns:android="http://schemas.android.com/apk/res/android"android:duration="2000"android:fillAfter="true"android:fromXDelta="0%p"android:fromYDelta="0%p"android:toXDelta="0%p"android:toYDelta="20%p" ></translate></set>

5.translate.xml代码

<?xml version="1.0" encoding="utf-8"?>
<!-- %指的是比例 p指的是相对于父类 -->
<translateandroid:fromXDelta="0%p"android:toXDelta="0%p"android:fromYDelta="0%p"android:toYDelta="20%p"android:fillAfter="true"android:duration="2000"xmlns:android="http://schemas.android.com/apk/res/android">
</translate>

三.主页面调用:

public class MainActivity extends Activity {private ImageView iv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//找到我们关心的控件iv = (ImageView) findViewById(R.id.iv);//设置一个点击事件iv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(getApplicationContext(), "哈哈 你点不到我", Toast.LENGTH_SHORT).show();}});}//点击按钮 实现iv 透明的效果  动画 public void click1(View v) { Animation aa = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.alpha);//iv开始执行动画 iv.startAnimation(aa);}//点击按钮 实现iv 执行一个旋转 动画 public void click2(View v) { Animation ra = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotate);//iv开始执行动画 iv.startAnimation(ra);}//点击按钮进行一个缩放动画public void click3(View v) { Animation sa= AnimationUtils.loadAnimation(getApplicationContext(), R.anim.scale);//iv开始执行动画 iv.startAnimation(sa);}//位移动画 public void click4(View v){Animation ta = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.translate);//开始动画iv.startAnimation(ta);}//动画一起执行public void click5(View v){Animation set = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.set);//最后一步 要记得 执行动画iv.startAnimation(set);}}

Android开发之xml动画(补间动画)记录相关推荐

  1. android 属性动画 补间动画,每日一道面试题(第7期)---Android补间动画与属性动画的区别...

    零零碎碎的东西总是记不长久,仅仅学习别人的文章也只是他人咀嚼后留下的残渣.无意中发现了这个每日一道面试题,想了想如果只是简单地去思考,那么不仅会收效甚微,甚至难一点的题目自己可能都懒得去想,坚持不下来 ...

  2. Android 安卓动画 补间动画 - 透明/渐变 动画

    补间动画之 透明/渐变 动画 实现效果:点击按钮后按钮从完全透明到不透明 补间动画概念:就是从一个画面过渡到另一个画面时让人看到中间动画效果! 动画 - 相关文章篇 帧动画 帧动画:  https:/ ...

  3. Android 安卓动画 补间动画 - 组合(四个动画) 动画

    补间动画之组合动画 - 介绍 顾名思义,就是四种动画(平移动画,旋转动画,缩放动画,渐变动画)一起实现效果,四种动画有着共同的属性,也有各自的特有属性,下面列出来的四种动画的共有属性 实现目标:点击按 ...

  4. 初二计算机简单动画,浙教版八年级下册信息技术:第七课《简单的动画补间动画》教案...

    ID:10051834 分类: 全国 , 2019 资源大小:219KB 资料简介: 第七课<简单的动画补间动画> 课题 第六课  简单的动画补间动画 目标 1.通过设置舞台背景和角色,学 ...

  5. Android studio 动画---补间动画

    1.新建文件.[注意:文件名只能命名为anim] 2.新建文件 3.在新建的文件中添加代码:[以下代码仅供参考] 3.1.改变动画的透明度: <?xml version="1.0&qu ...

  6. Android 动画—补间动画

    帧动画是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束"关键帧",而动画变化的"中间帧"则由系统计算并补齐! 1.补间动画的分类 ...

  7. Android开发总结之动画(帧动画+补间动画)

    一.概述 动画的概念   动画的概念不同于一般意义上的动画片,动画是一种综合艺术,它是集合了绘画.漫画.电影.数字媒体.摄影.音乐.文学等众多艺术门类于一身的艺术表现形式.   动画的英文有很多表述, ...

  8. 三种动画方式 帧动画 属性动画 补间动画

    1.帧动画  AnimationDrawable animationDrawable = new AnimationDrawable(); //添加动画 animationDrawable.addFr ...

  9. Android开发之xml布局文件无故报错、R文件丢失

    在编写或修改Android布局文件时常常将错误修正好后依然无法正常运行,而且R文件丢失,通常有以下两个解决办法: 1.在Eclipse点击Project>Clean,之后如果依然无法运行,试试2 ...

最新文章

  1. WMI技术介绍和应用——接收事件
  2. mysql piress_由MySql漏洞导致电脑被入侵(特征为新增加名为piress的帐户)所想到的...
  3. nodejs async
  4. ANSI, UNICODE与UTF8相互转换模板类
  5. 手机python利器能做什么_推荐一款开发利器!既能写Python,又能写Java
  6. bzip2recover cat chattr chgrp chmod
  7. 【Fltk】Fltk1.3.3+VS2015 编程
  8. Python——词频统计
  9. 机器视觉运动控制一体机应用例程|芯片引脚缺陷检测系统
  10. 1linux 课程引入
  11. Ubuntu18.04 + RTX2080Ti + CUDA +cudnn 环境配置
  12. 《MySQL DBA修炼之道》——3.3 SQL基础
  13. 车辆占用应急车道识别抓拍系统 opencv
  14. POI导出EXCEL附带二维码以及条形码
  15. Node.js项目中动态加载环境变量配置
  16. 三十三、C#中的接口
  17. MacPS安装服务器当前无响应,MAC版 PS安装插件提示未部署处理方式
  18. java中\是什么意思?
  19. html 原生态轮播图,html 轮播图
  20. 怎样用电脑抠图换背景?抠图怎么把背景变透明?

热门文章

  1. linux cp源码_为Linux的cp和mv命令添加进度条
  2. sqlalchemy安装以及使用_防火阀的安装以及使用特点详细介绍
  3. c primer plus 第6版 中文版pdf_内功实力再精进 试驾上汽大通V80 PLUS城市版_搜狐汽车...
  4. mysql case when 解释_mysql 语法一 :case when详解
  5. java jvm容器_java – YARN:容器和JVM
  6. python转盘抽奖概率_转盘指定概率抽奖
  7. 牛客小白月赛16练习
  8. PhpStorm配置SVN的完整方法
  9. SpringBoot 2.x 集成 Redis
  10. JavaScript常用方法(工具类的封装)