您当前的位置: 首页 >  动画

梁同学与Android

暂无认证

  • 6浏览

    0关注

    618博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Android --- 动画

梁同学与Android 发布时间:2022-03-07 18:57:44 ,浏览量:6

Android 动画分为两大类

1.视图动画:补间动画、逐帧动画

补间动画: 平移动画(Translate) 缩放动画(scale) 旋转动画(rotate) 透明度动画(alpha)

逐帧动画: 动作拆分成帧的形式

2.属性动画 出现的版本:Android 3.0(API 11)后才提供的一种全新动画模式 在一定时间间隔内,通过不断改变值并赋值给对象的属性从而实现该对象在该属性上的动画效果

以上内容来自博主: https://blog.csdn.net/carson_ho/category_9268277.html

下面介绍一种淡入淡出的效果,点击btn_before按钮实现淡入、点击btn_after实现淡出:

AnimateActivity.java

import androidx.appcompat.app.AppCompatActivity;

import android.animation.Animator;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.example.demo20220303.R;

public class AnimateActivity extends AppCompatActivity implements View.OnClickListener {

    Button btn_before,btn_after;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_animate);
    }

    @Override
    protected void onResume() {
        super.onResume();

        btn_before = findViewById(R.id.btn_before);
        btn_after = findViewById(R.id.btn_after);

        btn_before.setOnClickListener(this);
        btn_after.setOnClickListener(this);


    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_before: {
                btn_before.setAlpha(0f);
                btn_before.setVisibility(View.VISIBLE);
                btn_before.animate()
                        .alpha(1f)
                        .setDuration(3000)
                        .setListener(null);
                break;
            }case R.id.btn_after: {
                btn_after.animate()
                        .alpha(0f)
                        .setDuration(3000)
                        .setListener(new Animator.AnimatorListener() {
                            @Override
                            public void onAnimationStart(Animator animation) {

                            }

                            @Override
                            public void onAnimationEnd(Animator animation) {
                                btn_after.setVisibility(View.INVISIBLE);
                            }

                            @Override
                            public void onAnimationCancel(Animator animation) {

                            }

                            @Override
                            public void onAnimationRepeat(Animator animation) {

                            }
                        });
                break;
            }
            default:
                break;
        }
    }
}

activity_animate.xml





    
    

在这里插入图片描述

关注
打赏
1660730345
查看更多评论
立即登录/注册

微信扫码登录

0.2082s