android scaleanimation动画,Android 的ScaleAnimation 缩放动画基本运用

android scaleanimation动画,Android 的ScaleAnimation 缩放动画基本运用因为今天用到了ScaleAnimation缩放动画就写一下,加深一下印象。用ScaleAnimation有几个重载方法,这里就将八个参数的重载方法。ScaleAnimation(floatfromX,floattoX,floatfromY,floattoY,intpivotXType,floatpivotXValue,intpivotYType,floatpivotYV…

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

Jetbrains全系列IDE稳定放心使用

因为今天用到了ScaleAnimation缩放动画就写一下,加深一下印象。

用ScaleAnimation有几个重载方法,这里就将八个参数的重载方法。

ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) ;

float fromX : 动画起始时 X坐标上的伸缩尺寸

float toX :动画结束时 X坐标上的伸缩尺寸

float fromY :动画起始时Y坐标上的伸缩尺寸

float toY :动画结束时Y坐标上的伸缩尺寸

int pivotXType : 动画在X轴相对于物件位置类型

float pivotXValue : 动画相对于物件的X坐标的开始位置

int pivotYType :动画在Y轴相对于物件位置类型

float pivotYValue : 动画相对于物件的Y坐标的开始位置

知道了这几个参数的作用就简单了。

首先先设置一个ScaleAnimation动画实例,再image = (ImageView)findViewById(R.id.xx),找到相应的图片id,再用

image.startAnimation(ScaleAnimation),将动画配置给image这样图片的动画就设置好了。

当然我们肯定要设置图片动画的启动事件的,不然图片怎么变化呢。

对了,我们还可以设置动画的一些属性,这里我就讲一下动画的缩放时间。要设置图片的缩放时间是用到ScaleAnimation的 setDuration()方法,里面放的是整型数,单位为毫秒。

最后贴上代码吧,新手上路,大牛请见谅。

public class MainActivity extends AppCompatActivity {

private ImageView imageA,imageB;

private ScaleAnimation sato0 = new ScaleAnimation(1,0,1,1, Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

findViewById(R.id.activity_main).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if (imageA.getVisibility()==View.VISIBLE){

imageA.startAnimation(sato0);

}else {

imageB.startAnimation(sato0);

}

}

});

}

private void showImageA(){

imageA.setVisibility(View.VISIBLE);

imageB.setVisibility(View.GONE);

}

private void showImageB(){

imageA.setVisibility(View.GONE);

imageB.setVisibility(View.VISIBLE);

}

private void initView(){

imageA= (ImageView) findViewById(R.id.ivA);

imageB= (ImageView) findViewById(R.id.ivB);

showImageA();

sato0.setDuration(500);

sato0.setAnimationListener(new Animation.AnimationListener() {

@Override

public void onAnimationStart(Animation animation) {

}

@Override

public void onAnimationEnd(Animation animation) {

if (imageA.getVisibility()==View.VISIBLE){

showImageB();

}else{

showImageA();

}

}

@Override

public void onAnimationRepeat(Animation animation) {

}

});

}

}

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

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

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

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

(0)


相关推荐

  • 最新Eric Python IDE 安装方法Eric6_17.04.1 + PyQt5_5.8.2[通俗易懂]

    博主是一名新入Pyhton坑的技术小白,一直在寻找更适合自己的PythonIDE,语是准备尝试EricPythonIDE,但是网上找到的安装教程和当前最新版本不一样了,于是经过一番折腾,博主记录下了如何安装最新版本Eric617.04.1以及PyQt5.82。也希望通过本文能帮助到和博主一样的新手同学

  • keil5 debug调试_java怎么远程调试

    keil5 debug调试_java怎么远程调试文章目录前言一、进入调试二、介绍调试工具栏二、搜索寻找三、特殊的窗口1.命令输出窗口2.寄存器窗口3.汇编语言窗口4.变量查看窗口5.检测自己想要看的总结前言其实我经常用的调试方法是在指定行加Printf();通过串口查看打印的信息,就知道执行到哪一步。但是这是很麻烦的。程序由上而下的执行顺序不会变的。debug调试也是从主函数开始这样调试的。一步一步的运行调试程序检查错误,或者直接运行到某处,二话不多说,开整!一、进入调试二、介绍调试工具栏1.复位按钮:(类似于用复位按键..

    2022年10月15日
  • 关于包围神经猫的想法实现

    关于包围神经猫的想法实现

  • 怎样让浏览器变身代码编辑器?

    怎样让浏览器变身代码编辑器?将浏览器变成一个简易文本编辑器一开始的功能非常简单,根本没有语法高亮,也没有自动缩进,仅仅是将浏览器变成一个文本编辑器而已。Jose分享的代码如下:data:text/html,htmlcontenteditable>只需要将上面的代码复制粘贴到浏览器的地址栏,然后按回车,就可以让浏览器变成编辑器。是不是非常简单?背后的原理并不高

  • leetcode之 两数之和 题目解答C/python

    leetcode之 两数之和 题目解答C/python题目描述链接:https://leetcode-cn.com/problems/two-sum给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]解答C语言:…

  • join方法的实现原理「建议收藏」

    join方法的实现原理「建议收藏」于Java开发人员,多线程应该是必须熟练应用的知识点,特别是开发基于Java语言的产品。本文将深入浅出的表述Java多线程的知识点,在后续的系列里将侧重于Java5由DougLea教授提供的Concurrent并行包的设计思想以及具体实现与应用。如何才能深入浅出呢,我的理解是带着问题,而不是泛泛的看。所以该系列基本以解决问题为主,当然我也非常希望读者能够提出更好的解决问题的方案以及提

发表回复

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

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