专栏名称: 蚂蚁金服ProtoTeam
数据前端团队
目录
相关文章推荐
国家林业和草原局  ·  飞越四大沙地 | 科技赋能 ... ·  7 小时前  
国家林业和草原局  ·  飞越四大沙地 | 科技赋能 ... ·  7 小时前  
前端早读课  ·  【第3529期】从自动补全到得力助手:训练 ... ·  19 小时前  
天津市应急管理局  ·  沉浸式互动宣传 带您查找身边安全隐患 ·  2 天前  
天津市应急管理局  ·  沉浸式互动宣传 带您查找身边安全隐患 ·  2 天前  
前端大全  ·  三大云厂同时瘫了?Cursor、ChatGP ... ·  3 天前  
前端大全  ·  你以为的 Tailwind ... ·  3 天前  
51好读  ›  专栏  ›  蚂蚁金服ProtoTeam

仿即刻的点赞滚动放大波纹图标

蚂蚁金服ProtoTeam  · 掘金  · 前端  · 2017-12-07 09:50

正文

请到「今天看啥」查看全文


)); mPraiseDrawable = attrArray.getDrawable(R.styleable.PraiseView_pv_praise_imageSrc); mUnPraiseDrawable = attrArray.getDrawable(R.styleable.PraiseView_pv_unPraise_imageSrc); attrArray.recycle(); initView(); } private void initView () { if (mPraiseDrawable == null) { mPraiseDrawable = getResources().getDrawable(R.mipmap.icon_praise_orange); } if (mUnPraiseDrawable == null) { mUnPraiseDrawable = getResources().getDrawable(R.mipmap.icon_un_praise_gray); } mImageView.setImageDrawable(mIsLiked ? mPraiseDrawable : mUnPraiseDrawable); mScrollTextView.setTextColorAndSize(mTextColor, mTextSize); mCirclePaint.setAntiAlias( true ); mCirclePaint.setStyle(Paint.Style.STROKE); mCirclePaint.setStrokeWidth(DisplayUtil.dip2px(2)); } public void bind Data(IPraiseListener praiseListener, boolean isLike, int likeCount) { mLikeCount = likeCount; mIPraiseListener = praiseListener; set Liked(isLike); refreshText(likeCount); } void refreshText(int likeCount) { mScrollTextView.bindData(likeCount > 0 ? likeCount : 0); } public void set Liked(boolean isLike) { mIsLiked = isLike; mImageView.setImageDrawable(isLike ? mPraiseDrawable : mUnPraiseDrawable); } public void clickLike () { set Liked(!mIsLiked); if (mAnimatorSet == null) { mAnimatorSet = generateScaleAnim(mImageView, 1f, 1.3f, 0.9f, 1f); } else { mAnimatorSet.cancel(); } mAnimatorSet.start(); if (mIsLiked) { mLikeCount++; } else if (mLikeCount > 0) { mLikeCount--; } mIPraiseListener.like(mIsLiked, mLikeCount); mScrollTextView.bindDataWithAnim(mLikeCount); } @Override public void onClick(View v) { if (!mCanClick) return ; clickLike(); generateCircleAnim(); } /** * 生成一个缩放动画 X轴和Y轴 * * @param view 需要播放动画的View * @param scaleValue 缩放轨迹 * @ return





请到「今天看啥」查看全文