补间动画

【1】什么是补间动画:
  补间动画也叫 view动画,就是对你一个imageView控件中的类容进行操作,让它旋转,平移,缩放,透明等等。
注意1:它不同于前面多媒体中的图片操作,多媒体中对图片的修改 目的是 修改的结果,你只需要ps之后的图片,而补间动画 目的是 图片改变的过程,例如变透明的过程(图片渐渐变得不可见)等等。
注意2:补间动画对图片的操作 其实并没有改变图片本身的属性 (和属性动画正好相反),例如 TranslateAnimation 平移动画,你看见的是图片平移了,其实imageView本身还在原地,如果imageView有clickListener的话,该监听的触发事件 不一定是当前图片的位置,但一定是布局中对imageView定义的位置。如果你想设置当前图片位置的监听,可参考方法 image.offsetLeftAndRight(-1).         http://bbs.csdn.net/topics/390161612
【2】实现原理:通过AlphaAnimation  RotateAnimation  TranslateAnimation ScaleAnimation这4个类(对应 透明 旋转 平移 缩放)实现
【3】实现步骤:
第一种方法(不常用):
3.1 布局添加对应变换的按钮 和 imageview控件
<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" >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="click1"
            android:text="透明" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="click2"
            android:text="旋转" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="click3"
            android:text="平移" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="click4"
            android:text="缩放" />
          <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="click5"
            android:text="all" />
    </LinearLayout>
    <ImageView
        android:id="@+id/iv"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />
</RelativeLayout>
3.2 mainactivity中找到 imageview控件  和 实现3.1中的按钮 的点击事件
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iv = (ImageView) findViewById(R.id.iv);
    }
public void click1(View v) {
    AlphaAnimation aanimation=new AlphaAnimation(0.0f, 1.0f);
    aanimation.setRepeatMode(Animation.REVERSE);
    aanimation.setRepeatCount(1);
    aanimation.setDuration(1000);
    iv.startAnimation(aanimation);
}
public void click2(View v) {
    RotateAnimation ranimation=new RotateAnimation(0, 360,Animation.RELATIVE_TO_SELF ,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
    ranimation.setRepeatMode(Animation.REVERSE);
    ranimation.setRepeatCount(1);
    ranimation.setDuration(1000);
    iv.startAnimation(ranimation);
}
public void click3(View v) {
    TranslateAnimation tanimation=new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT,0, Animation.RELATIVE_TO_PARENT, 0,Animation.RELATIVE_TO_PARENT, 0.5f);
    tanimation.setDuration(4000);
    tanimation.setFillAfter(false);
    iv.startAnimation(tanimation);
}
public void click4(View v) {
    ScaleAnimation sanimation=new ScaleAnimation(1, 2f, 1, 2f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    sanimation.setRepeatMode(Animation.REVERSE);
    sanimation.setRepeatCount(1);
    sanimation.setDuration(1000);
    sanimation.setFillAfter(true);
    iv.startAnimation(sanimation);
}
}
3.3 你可以让多个操作组合使用(图片同时旋转 平移 缩放 透明)
public void click5(View v) {
        AnimationSet set=new AnimationSet(true);
        AlphaAnimation aanimation=new AlphaAnimation(0.0f, 1.0f);
        aanimation.setRepeatMode(Animation.REVERSE);
        aanimation.setRepeatCount(1);
        aanimation.setDuration(1000);
        
        RotateAnimation ranimation=new RotateAnimation(0, 360,Animation.RELATIVE_TO_SELF ,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
        ranimation.setRepeatMode(Animation.REVERSE);
        ranimation.setRepeatCount(1);
        ranimation.setDuration(1000);
        
        TranslateAnimation tanimation=new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT,0, Animation.RELATIVE_TO_PARENT, 0,Animation.RELATIVE_TO_PARENT, 0.5f);
        tanimation.setRepeatMode(Animation.REVERSE);
        tanimation.setRepeatCount(1);
        tanimation.setDuration(1000);
        tanimation.setFillAfter(true);
        ScaleAnimation sanimation=new ScaleAnimation(1, 2f, 1, 2f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        sanimation.setRepeatMode(Animation.REVERSE);
        sanimation.setRepeatCount(1);
        sanimation.setDuration(1000);
        sanimation.setFillAfter(true);
        
        set.addAnimation(aanimation);
        set.addAnimation(sanimation);
        set.addAnimation(ranimation);
        set.addAnimation(tanimation);
        iv.setAnimation(set);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值