Android开发心动的两种好看动画

126 阅读1分钟
Android开发心动的两种好看动画

个人详情往往有心动功能,它其实也叫关注。心动图标的切换往往加点动画会比较好看一点

一、思路:

第一种:自定义控件用图片组不断替换 第二种:用View动画

二、效果图:

在这里插入图片描述

三、关键代码:
public class MainActivity extends AppCompatActivity {

    private ActiveLikeImage mLikeIcon;
    private Drawable[] mLikeDrawables;
    private Context context;
    private boolean isLike = false;

    private ImageView like_image;
    private Drawable mLikeDrawable;
    private Drawable mUnLikeDrawable;
    private ScaleAnimation mLikeAnimation;
    private boolean isLike2 = false;

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

        context = this;
        mLikeIcon = findViewById(R.id.like_icon);
        like_image = findViewById(R.id.like_image);

        mLikeDrawables = new Drawable[6];
        mLikeDrawables[0] = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_0);
        mLikeDrawables[1] = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_1);
        mLikeDrawables[2] = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_2);
        mLikeDrawables[3] = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_3);
        mLikeDrawables[4] = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_4);
        mLikeDrawables[5] = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_5);


        mLikeIcon.setDrawables(mLikeDrawables);
        mLikeIcon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                isLike = !isLike;
                mLikeIcon.setLike(isLike,true);
            }
        });

        // 第二种
        mLikeDrawable = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_5);
        mUnLikeDrawable = ContextCompat.getDrawable(context, R.mipmap.icon_active_like_0);
        mLikeAnimation = new ScaleAnimation(1f, 0.5f, 1f, 0.5f, 
四、项目demo源码结构图:

在这里插入图片描述
有问题或者需要完整源码的私信我