缩放动画效果(scale)
第一种:
xml:
<Button android:id="@+id/btn_scale" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/btn_scale" />
java:
private Button btn_scale;
btn_scale = findViewById(R.id.btn_scale); btn_scale.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 以自身为坐标点 参数: x轴的起始点,结束点 y轴的起始点,结束点 1:不缩放,这是缩放比例概念 // ScaleAnimation sa = new ScaleAnimation(0,1,0,1); // 默认从左上角开始缩放 可以指定位置(在100,50的地方缩放) //ScaleAnimation sa = new ScaleAnimation(0,1,0,1,100,50); ScaleAnimation sa = new ScaleAnimation(0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); // 设置动画时长 sa.setDuration(2000); // 启动动画 v.startAnimation(sa); } });
第二种:
<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromXScale="0" android:fromYScale="0" android:pivotX="50%" android:pivotY="50%" android:toXScale="1" android:toYScale="1"> <!--duration:动画时长--> <!--fromXScale,fromYScale的起始--> <!--toXScale,toYScale的结束--> <!--pivotX,pivotY 缩放位置,百分比以自身缩放,数值以屏幕像素缩放--> </scale>
java:
v.startAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anim4));