View动画(补间动画)

View动画(补间动画)

1.在res目录下创建一个anim目录,在anim目录下创建一个anim.xml文件(文件名任意取)。在anim.xml文件中

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:repeatMode="restart"
    android:fillAfter="true"
    android:shareInterpolator="true">
    <!--android:fillAfter="true" 动画结束后是否停留在结束位置-->
    <!--android:shareInterpolator="true"    是否共享同一个插补器-->

    <!--View动画xml格式-->

    <!--透明动画:从完全不透明,到透明度为0.2-->
    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.2" />

    <!--平移动画    向X轴Y轴移动100dp-->
    <translate
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="100"
        android:toYDelta="100" />

    <!--旋转动画    以(100,100)为中心点,从0°旋转到90°-->
    <rotate
        android:fromDegrees="0"
        android:pivotX="1"
        android:pivotY="1"
        android:toDegrees="720" />

    <!--缩放动画    以(100,100)为参考点,以X,Y轴从原始大小缩小0.5倍-->
    <scale
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="0"
        android:pivotY="0"
        android:toXScale="0.5"
        android:toYScale="0.5" />
</set>

2.在MainActivity文件中

public class MainActivity extends AppCompatActivity {

    private TextView mTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTextView = (TextView) findViewById(R.id.tv);


        mTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               xmlAnim(v);
            }
        });


    }

    private void xmlAnim(View view) {
        Animation animation = AnimationUtils.loadAnimation(this, R.anim.anim);
        animation.setInterpolator(new OvershootInterpolator());//设置插补器
        view.startAnimation(animation);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值