使用ScaleAnimation实现了一个类似于翻转的动画效果。

感觉ScaleAnimation算是一个比较好用的动画类了,看了一下API感觉方法和构造方法也都很简单。

就不再赘述太多直接上代码吧- -

第一步:

准备两张照片,放置在res/drawble下。

首先在layout中写好布局文件,这里要用framelayout布局,让两张图片一张覆盖在另一张上。

相信聪明的你看到这里已经秒懂等下的图片处理方式了。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/root"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.dfanzhuan.MainActivity" ><ImageViewandroid:id="@+id/ivA"android:layout_width="fill_parent"android:layout_height="fill_parent"android:src="@drawable/image_a" /><ImageViewandroid:id="@+id/ivB"android:layout_width="fill_parent"android:layout_height="fill_parent"android:src="@drawable/image_b" /></FrameLayout>

第二部:

MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.ScaleAnimation;
import android.widget.ImageView;public class MainActivity extends Activity {private ImageView imgA;private ImageView imgB;private ScaleAnimation sato0 = new ScaleAnimation(1, 0, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);           private ScaleAnimation sato1 = new ScaleAnimation(0, 1, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);           @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();findViewById(R.id.root).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {if (imgA.getVisibility() == View.VISIBLE) {imgA.startAnimation(sato0);}else {imgB.startAnimation(sato0);}}});}private void showImageA() {imgA.setVisibility(View.VISIBLE);imgB.setVisibility(View.INVISIBLE);}private void showImageB() {imgA.setVisibility(View.INVISIBLE);imgB.setVisibility(View.VISIBLE);}private void initView() {//指定执行时间imgA = (ImageView) findViewById(R.id.ivA);imgB = (ImageView) findViewById(R.id.ivB);showImageA();//动画执行时间sato0.setDuration(500);sato1.setDuration(500);sato0.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {// TODO Auto-generated method stub}@Overridepublic void onAnimationRepeat(Animation animation) {// TODO Auto-generated method stub}@Overridepublic void onAnimationEnd(Animation animation) {if (imgA.getVisibility() == View.VISIBLE) {imgA.setAnimation(null);showImageB();imgB.startAnimation(sato1);} else {imgB.setAnimation(null);showImageA();imgA.startAnimation(sato1);}}});}}

个人感觉难点在于对时间和图片翻转情况的理解,不过写几次以后就just soso了~

下面是效果图,因为还不会做git。。。所以发四张好了:


 


 

Android图形动画 使用ScaleAnimation相关推荐

  1. android图形动画

    学习View的时候看到的,记录下 Android图形动画 作者 朱才:http://cnblogs.com/zhucai/ 朱才 微博:http://weibo.com/zhucai 2017/8/1 ...

  2. Android的动画:ScaleAnimation,AlphaAnimation,RotateAnimation,TranslateAnimation,Code,DrawableAnimation

    简介 动画有下面两种情况同一个图形通过视图在界面上进行透明度,缩放,旋转,平移的变化(View动画)在界面的同一个位置上不断切换显示不同的图片(Drawable动画)动画的分类View Animati ...

  3. Android 动画之ScaleAnimation应用详解

    本节讲解ScaleAnimation 动画在应用中的实现,有需要的朋友可以参考下 android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画 ...

  4. android 尺寸变化动画,android ScaleAnimation类:尺寸变化动画类

    Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, TranslateAnimation.今天我想 ...

  5. Android补间动画之ScaleAnimation、AlphaAnimation、RotateAnimation、TranslateAnimation、AnimationSet详解

    首发:http://blog.csdn.net/harvic880925/article/details/40117115 一.概述 前两篇,我为大家讲述了利用XML来定义动画及插值器,但在代码中,我 ...

  6. Android 动画之ScaleAnimation应用具体解释

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimat ...

  7. android scaleanimation动画,Android 动画之ScaleAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimat ...

  8. android属性动画作用范围,Android开发之动画效果浅析(一)

    程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animatio ...

  9. Android Animation动画特效

    Android应用中各式各样的交互界面能体现一个Android应用独特的设计理念,为应用增色不少.为了要实现这些效果就需要用到Android中关于动画的API,Android中的动画效果主要分为逐帧动 ...

最新文章

  1. SharePoint 2013 搭建负载均衡(NLB)
  2. nginx 安装及使用命令
  3. java元空间扩容_JVM元空间(Metaspace)
  4. 计算机网络拓跋结构,实战 | 服务端开发与计算机网络结合的完美案例
  5. linux目录结构来源6,Linux入门基础 #6 Linux系统目录架构
  6. Docker的C/S模式
  7. centos7中Python切换到Python3.x版本(解决常出现的错误)
  8. 查找单词个数案列实现(字符串流)
  9. tadb.exe、sjk_daemon.exe导致 adb.exe启动失败
  10. 网站防篡改小工具使用方法
  11. 使用代理后,雷鸟连接qq邮箱
  12. 怎样将动图静图拼在一起?教你在线拼接图片
  13. 专业计算机术语中英文对照(一)
  14. python之面向对象编程
  15. Raphael绘制流程图(二),添加带箭头的直线
  16. vue.js实现一个会动的简历(包含底部导航功能,编辑功能)
  17. 黑苹果小白的脚印-UX31A(HD4000)完美上Bigsur
  18. 目前最常用的计算机机箱类型为_目前最常用的计算机机箱类型为
  19. 无线远距离WiFi模块,无线图传技术,在远距离传输领域的应用
  20. Jade ( Translucency / Subsurface Scattering ) Shader——玉石效果——SSS深度图实现

热门文章

  1. Ubuntu下重命名硬盘以及修改权限
  2. 利用ioctl()获取无线速率
  3. Java学习路线【转载自topinking老兄的blog】.txt
  4. mac下浏览器全屏被隐藏地址栏问题的解决办法
  5. 实测MySQL 查询结果保留两位小数函数的区别汇总
  6. 计算机毕业设计HTML+CSS+JavaScript——基于HTML花店购物网站项目的设计与实现
  7. Sublime Text4安装教程
  8. win命令大全(个人认识只是部分而已)
  9. 一级计算机考试题选择题吗,计算机一级考试选择题和答案
  10. android 取mac地址,Android手机获取Mac地址的几种方法,androidmac