android-animation – 用于放大和缩小android for imageview的动画

前端之家收集整理的这篇文章主要介绍了android-animation – 用于放大和缩小android for imageview的动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在单击imageview时设置放大和缩小?我希望我的程序在用户点击imageview时做出反应必须在某种程度上变大,并且可以在该屏幕上移动imageview,有时它会在触摸时减小尺寸在屏幕上的任何地方.再次点击是恢复原始大小我该怎么办?

解决方法

据我所知,有两种方法.

第一种方式:

在res中创建一个名为’anim’的新文件夹.比在里面创建一个xml文件,例如zoomin.xml.然后将以下代码放入其中.

<scale  xmlns:android="http://schemas.android.com/apk/res/android"
  android:fromXScale="1" 
  android:toXScale="5" 
  android:fromYScale="1" 
  android:toYScale="5" 
  android:pivotX="50%" 
  android:pivotY="50%" 
  android:duration="1000" 
  android:fillAfter="true">
</scale>

另一个用于缩小,但具有反转值.

<scale  xmlns:android="http://schemas.android.com/apk/res/android"
  android:fromXScale="5" 
  android:toXScale="1" 
  android:fromYScale="5" 
  android:toYScale="1" 
  android:pivotX="50%" 
  android:pivotY="50%" 
  android:duration="1000" 
  android:fillAfter="true">
</scale>

您可以根据需要更改值.我认为它们是不言自明的.

现在在你的java代码中.

ImageView imageView = (imageView)findViewById(R.id.yourImageViewId);

Animation zoomin = AnimationUtils.loadAnimation(this,R.anim.zoomin);
Animation zoomout = AnimationUtils.loadAnimation(this,R.anim.zoomout);
imageView.setAnimation(zoomin);
imageView.setAnimation(zoomout);

现在你只需要跟踪哪个是当前状态.并为每个州执行以下代码行:

imageView.startAnimation(zoomin);

imageView.startAnimation(zoomout);

例如:

imageView.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                if(!pressed) {
                    v.startAnimation(zoomin);
                    pressed = !pressed;
                } else {
                    v.startAnimation(zoomout);
                    pressed = !pressed;
                }
            }
        });

另一种方式在这里描述:http://developer.android.com/training/animation/zoom.html.

原文链接:https://www.f2er.com/android/317036.html

猜你在找的Android相关文章