安卓購物車新增商品動畫效果

2021-08-01 13:10:30 字數 3289 閱讀 9651

自定義動畫類(直接使用)

package com.bjut.sse.yimeiband.main;

import android.graphics.drawable.drawable;

import android.view.view;

import android.view.viewgroup;

import android.view.animation.accelerateinterpolator;

import android.view.animation.animation;

import android.view.animation.animationset;

import android.view.animation.linearinterpolator;

import android.view.animation.translateanimation;

import android.widget.framelayout;

import android.widget.imageview;

import com.bjut.sse.yimeiband.wrap.wrapanimationlistener;

/** * 說明:新增商品到購物車的動畫

*/public

class

shoppingcartanim

/*** 將image新增到動畫層並放在起始座標位置

**@param location 起始位置

*@return

*/private view addviewfromanimlayout(view view, int location)

public

void

startanim(view startview, view endview)

});}

}

實現思路:在sourceimageview上加一層 imageview,讓imageview 做view動畫 或屬性動畫,這裡就只來乙個view動畫的set集合

包裝類 wrapanimationlistener 簡化書寫

public

class

wrapanimationlistener

implements

animation.animationlistener

@override

public

void

onanimationend(animation animation)

@override

public

void

onanimationrepeat(animation animation)

}

呼叫

/**

* 做新增商品的動畫

*/private

void

doaddanimation(imageview v)

購物車的小紅點

target = (imageview) getactivity().findviewbyid(r.id

.btn_title_right);

bv = new badgeview(getcontext(), target);

bv.setbadgebackgroundcolor(color.transparent);

bv.settextcolor(color.red);

bv.settextsize(10);

bv.setbadgeposition(badgeview.position_center);

思考:使用者體驗,個人認為這個效果沒必要,就不上圖了。

新增屬性動畫:

objectanimator translateanimationx = objectanimator.offloat(run_view, "translationx", 0,endx);

translateanimationx.setduration(400);

translateanimationx.setinterpolator(new linearinterpolator());

objectanimator translateanimationy = objectanimator.offloat(run_view, "translationy", 0,endy);

translateanimationy.setduration(400);

translateanimationy.setinterpolator(new accelerateinterpolator());

//縮小動畫

objectanimator scalex = objectanimator.offloat(run_view, "scalex", 1, 0.1f);

scalex.setduration(400);

objectanimator scaley = objectanimator.offloat(run_view, "scaley", 1, 0.1f);

scaley.setduration(400);

scaley.addlistener(new animator.animatorlistener()

@override

public

void

onanimationend(animator animation)

@override

public

void

onanimationcancel(animator animation)

@override

public

void

onanimationrepeat(animator animation)

});animatorset animatorset = new animatorset();

animatorset.play(translateanimationx).with(translateanimationy);

animatorset.play(scalex).with(translateanimationx);

animatorset.play(scaley).with(translateanimationy);

animatorset.start();

效果圖:

商品新增購物車實現動畫效果

在應用商場的時候,發現 和京東在往購物車新增商品時,會有商品縮圖跑到購物車的效果,特此做了個小demo,便於學習和應用 在controller的.h檔案中 inte ce viewcontroller property nonatomic,strong uibezierpath path end i...

swift 商品加入購物車動畫

mark 商品拋入購物車的動畫效果 extension qhgoodlistviewcontroller 組動畫 groupanimation 組動畫 幀動畫拋入購物車 並放大 縮小圖層增加點動效 private func groupanimation 動畫結束後做一些操作 override fun...

新增購物車弧形動畫

問題描述 購物車動畫,就是選擇的時候乙個動畫元素從選擇處以拋物線調入左下角的購物車圖示,進入後購物車有乙個搖晃效果。如下圖 乙個小小的動畫,需求也是定製的,不高新到網上找外掛程式。也不多。找的外掛程式還要改東西,又引入更多 於是決定自己寫。解題思路 相信大家也不願意看大堆的 寫下關鍵點吧。1.準備 ...