| ScaleAnimation缩放动画 
 
  
 
 两种实现方式:
 
 
 一、xml+java代码
 
 
 在res下新建anim文件夹,在res/anim下新建scale.xml:
 
 [XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:duration="2000"
        android:fillAfter="true"
        android:fromXScale="0.0"
        android:fromYScale="0.0"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
</set>activity_main.xml:
 
 [XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">
   <Button
       android:id="@+id/btn"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="scale"/>
</LinearLayout>java代码:
 
 [Java] 纯文本查看 复制代码 public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button button = (Button) findViewById(R.id.btn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
                button.startAnimation(animation);//开始动画
            }
        });
    }
}
 效果如下图:
 
 
 
   
 二、java代码实现
 
 [Java] 纯文本查看 复制代码 public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button button = (Button) findViewById(R.id.btn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //创建缩放动画对象
                Animation animation = new ScaleAnimation(0, 1.0f, 0f, 1.0f);
                //动画时间
                animation.setDuration(1000);
                //动画的重复次数
                animation.setRepeatCount(-1);
                animation.setFillAfter(true);
                button.startAnimation(animation);
            }
        });
    }
}
 
 效果图:
 
 
 
   
 |