因为今天用到了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) {            }        });    }}

更多相关文章

  1. android之属性动画
  2. Android(安卓)Notes 之 Tween动画 (2)自定义动画
  3. [置顶] Androd用WebView播放gif动画
  4. ViewPager如下效果你研究过吗
  5. Android(安卓)动画总结-帧动画
  6. Android(安卓)Activity间切换动画效果
  7. android tween 四种动画
  8. Android(安卓)View动画开发笔记
  9. 2011.10.09——— android ImageView放大缩小(2)

随机推荐

  1. Android:week 13总结 绑定服务、音乐播放
  2. Android中按返回键怎么退出一个用程序
  3. Android学习笔记4——Activity的生命周期
  4. android http json请求3种不同写法
  5. Android使用ksoap2连接webserver(JAX-WS)
  6. android获取屏幕的宽度和高度
  7. [置顶] Android(安卓)按钮点击两次触发不
  8. maven android
  9. android横竖屏显示
  10. 整理出15个Android很有用的代码片段(技巧