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源码结构图:
有问题或者需要完整源码的私信我