android代码实现ScaleAnimation[通俗易懂]

android代码实现ScaleAnimation[通俗易懂]packagecom.yangguangfu.cn;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.view.animation.Animation;importandroid…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

package com.yangguangfu.cn;

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 ScaleAnimationDemoActivity extends Activity implements

        OnClickListener {

    private ImageView top_left;

    private ImageView top_right;

    private ImageView bottom_left;

    private ImageView bottom_right;

    private ImageView center;

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) { // 要使用findViewById,

        super.onCreate(savedInstanceState); // 做为使用者介面

        setContentView(R.layout.second);

        // 取得UI 介面中的View 物件

        // 取得View 物件后,再透过转换成实际的物件

        top_left = (ImageView) findViewById(R.id.top_left);

        top_right = (ImageView) findViewById(R.id.top_right);

        bottom_left = (ImageView) findViewById(R.id.bottom_left);

        bottom_right = (ImageView) findViewById(R.id.bottom_right);

        center = (ImageView) findViewById(R.id.center);

        top_left.setOnClickListener(this);

        top_right.setOnClickListener(this);

        bottom_left.setOnClickListener(this);

        bottom_right.setOnClickListener(this);

        center.setOnClickListener(this);

    }

    @Override

    public void onClick(View v) {

        switch (v.getId()) {

        case R.id.top_left:

            topLeftScaleAnimation(v);

            break;

        case R.id.top_right:

            topRightScaleAnimation(v);

            break;

        case R.id.bottom_left:

            bottomLiftScaleAnimation(v);

            break;

        case R.id.bottom_right:

            bottomRightScaleAnimation(v);

            break;

        case R.id.center:

            centerScaleAnimation(v);

            break;

        }

    }

    private Animation topLeftanimation;

    private boolean istopLeft = false;

    private void topLeftScaleAnimation(final View v) {

        if (!istopLeft) {

            topLeftanimation = new ScaleAnimation(1.0f, 4.0f, 1.0f, 4.0f,

                    Animation.RELATIVE_TO_SELF, 0.0f,

                    Animation.RELATIVE_TO_SELF, 0.0f);

            istopLeft = true;

        } else {

            topLeftanimation = new ScaleAnimation(4.0f, 1.0f, 4.0f, 1.0f,

                    Animation.RELATIVE_TO_SELF, 0.0f,

                    Animation.RELATIVE_TO_SELF, 0.0f);

            istopLeft = false;

        }

        // 动画开始到结束的执行时间(1000 = 1 秒)

        topLeftanimation.setDuration(2000);

        // 动画重复次数(-1 表示一直重复)

        // am.setRepeatCount(1);

        topLeftanimation.setAnimationListener(new AnimationListener() {

            @Override

            public void onAnimationStart(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationRepeat(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationEnd(Animation animation) {

                top_left.setEnabled(true);

            }

        });

        topLeftanimation.setFillAfter(true);

        // 图片配置动画

        top_left.setAnimation(topLeftanimation);

        // Help();

        // handler.sendEmptyMessageDelayed(topHand, 2000);

        // top_left.setLayoutParams(lp);

        // 动画开始

        topLeftanimation.startNow();

        top_left.setEnabled(false);

    }

    private static final int topHand = 6;

    private boolean isBottomLift = false;

    Animation bottomLiftScaleAnimation = null;

    private void bottomLiftScaleAnimation(View v) {

        if (!isBottomLift) {

            bottomLiftScaleAnimation = new ScaleAnimation(1.0f, 4.0f, 1.0f,

                    4.0f, Animation.RELATIVE_TO_SELF, 0f,

                    Animation.RELATIVE_TO_SELF, 1.0f);

            isBottomLift = true;

        } else {

            bottomLiftScaleAnimation = new ScaleAnimation(4.0f, 1.0f, 4.0f,

                    1.0f, Animation.RELATIVE_TO_SELF, 0f,

                    Animation.RELATIVE_TO_SELF, 1.0f);

            isBottomLift = false;

        }

        // 动画开始到结束的执行时间(1000 = 1 秒)

        bottomLiftScaleAnimation.setDuration(2000);

        // 动画重复次数(-1 表示一直重复)

        // bottomLiftScaleAnimation.setRepeatCount(-1);

        bottomLiftScaleAnimation.setFillAfter(true);

        // 图片配置动画

        bottom_left.setAnimation(bottomLiftScaleAnimation);

        bottomLiftScaleAnimation.setAnimationListener(new AnimationListener() {

            @Override

            public void onAnimationStart(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationRepeat(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationEnd(Animation animation) {

                bottom_left.setEnabled(true);

            }

        });

        // 动画开始

        bottomLiftScaleAnimation.startNow();

        bottom_left.setEnabled(false);

    }

    private boolean isBottomRigth = false;

    Animation bottomRightScaleAnimation;

    private void bottomRightScaleAnimation(View v) {

        if (!isBottomRigth) {

            bottomRightScaleAnimation = new ScaleAnimation(1.0f, 4.0f, 1.0f,

                    4.0f, Animation.RELATIVE_TO_SELF, 1.0f,

                    Animation.RELATIVE_TO_SELF, 1.0f);

            isBottomRigth = true;

        } else {

            bottomRightScaleAnimation = new ScaleAnimation(4.0f, 1.0f, 4.0f,

                    1.0f, Animation.RELATIVE_TO_SELF, 1.0f,

                    Animation.RELATIVE_TO_SELF, 1.0f);

            isBottomRigth = false;

        }

        // 动画开始到结束的执行时间(1000 = 1 秒)

        bottomRightScaleAnimation.setDuration(2000);

        bottomRightScaleAnimation.setAnimationListener(new AnimationListener() {

            @Override

            public void onAnimationStart(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationRepeat(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationEnd(Animation animation) {

                // TODO Auto-generated method stub

                bottom_right.setEnabled(true);

            }

        });

        // 动画重复次数(-1 表示一直重复)

        // bottomRightScaleAnimation.setRepeatCount(-1);

        bottomRightScaleAnimation.setFillAfter(true);

        // 图片配置动画

        bottom_right.setAnimation(bottomRightScaleAnimation);

        // 动画开始

        bottomRightScaleAnimation.startNow();

        bottom_right.setEnabled(false);

    }

    private Animation topRightScaleAnimation;

    private boolean isTopRight = false;

    private void topRightScaleAnimation(View v) {

        if (!isTopRight) {

            topRightScaleAnimation = new ScaleAnimation(1.0f, 4.0f, 1.0f, 4.0f,

                    Animation.RELATIVE_TO_SELF, 1.0f,

                    Animation.RELATIVE_TO_SELF, 0.0f);

            isTopRight = true;

        } else {

            topRightScaleAnimation = new ScaleAnimation(4.0f, 1.0f, 4.0f, 1.0f,

                    Animation.RELATIVE_TO_SELF, 1.0f,

                    Animation.RELATIVE_TO_SELF, 0.0f);

            isTopRight = false;

        }

        topRightScaleAnimation.setDuration(2000);
集装箱运费

        // 动画重复次数(-1 表示一直重复)

        // topRightScaleAnimation.setRepeatCount(-1);

        // 图片配置动画

        top_right.setAnimation(topRightScaleAnimation);

        topRightScaleAnimation.setAnimationListener(new AnimationListener() {

            @Override

            public void onAnimationStart(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationRepeat(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationEnd(Animation animation) {

                top_right.setEnabled(true);

            }

        });

        // 动画开始

        topRightScaleAnimation.startNow();

        topRightScaleAnimation.setFillAfter(true);

        top_right.setEnabled(false);

    }

    private boolean isCenter = false;

    Animation centerScaleAnimation;

    private void centerScaleAnimation(View v) {

        if (!isCenter) {

            centerScaleAnimation = new ScaleAnimation(1.0f, 4.0f, 1.0f, 4.0f,

                    Animation.RELATIVE_TO_SELF, 0.5f,

                    Animation.RELATIVE_TO_SELF, 0.5f);

            isCenter = true;

        } else {

            centerScaleAnimation = new ScaleAnimation(4.0f, 1.0f, 4.0f, 1.0f,

                    Animation.RELATIVE_TO_SELF, 0.5f,

                    Animation.RELATIVE_TO_SELF, 0.5f);

            isCenter = false;

        }

        centerScaleAnimation.setDuration(2000);

        centerScaleAnimation.setFillAfter(true);

        // 动画重复次数(-1 表示一直重复)

        // centerScaleAnimation.setRepeatCount(-1);

        centerScaleAnimation.setAnimationListener(new AnimationListener() {

            @Override

            public void onAnimationStart(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationRepeat(Animation animation) {

                // TODO Auto-generated method stub

            }

            @Override

            public void onAnimationEnd(Animation animation) {

                center.setEnabled(true);

                // TODO Auto-generated method stub

            }

        });

        // 图片配置动画
喝咖啡的英文翻译,喝咖啡的造句

        center.setAnimation(centerScaleAnimation);

        // 动画开始

        centerScaleAnimation.startNow();

        center.setEnabled(false);

    }

}

转载于:https://www.cnblogs.com/sky7034/archive/2011/06/22/2086594.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181543.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • curl_init()

    curl_init()
    $ch=curl_init();
    $c_url=’http://?’;
     $c_url_data=”product_id=”.$product_id.”&type=”.$type.””;
     curl_setopt($ch,CURLOPT_URL,$c_url);
     curl_setopt($ch,CURLOPT_POST,1);
     curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

  • MATLAB 粒子群算法,例题与常用模版

    MATLAB 粒子群算法,例题与常用模版MATLAB粒子群算法本文学习自:ParticleSwarmOptimizationinMATLAB-YarpizVideoTutorial与《精通MATLAB智能算法》1.简介:ParticleSwarmOptimization,粒子群优化算法,常用来找到方程的最优解。2.算法概述:每次搜寻都会根据自身经验(自身历史搜寻的最优地点)和种群…

  • 什么是BI系统?_bi是做什么的

    什么是BI系统?_bi是做什么的BI软件是商业智能(BusinessIntelligence)软件的英文缩写。目前,商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。商务智能系统中的数据来自企

  • php集成环境总结(php新手)

    php集成环境总结(php新手)1、WampServer Wamp就是WindowsApacheMysqlPHP集成安装环境,即在window下的apache、php和mysql的服务器软件。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,WAMP它会去做。再也不用到处询问php的安装问题了,WAMP一切都搞定了,这个软件在win平台上使用的较多。

  • IDEA官方汉化包

    IDEA官方汉化包IDEA修改为中文模式自IEDA2020发行不久,IDEA官方就发布了支持中文喜讯。今晚看到同学还在为找到IDEA汉化包而高兴,不由得想到可以水一篇博客。这是我用官方的包汉化IDEA2020.1后的结果:基本上能看到的英文字母都汉化成简体中文了,就很nice!汉化过程很简单Ctrl+Alt+s进入setting找到Plugins,直接在如下的搜索框中输入chinese回车,选择第一个如图所示插件进行下载并应用。然后重启即可发现:诶!英文变成中文了。也可以在官网下载jar包导入IDEA安装

  • 迭代器Python_python进阶路线

    迭代器Python_python进阶路线迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。可迭代对象我们已经知道可以对l

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号