android长按加入购物车,《Android APP可能有的东西》之UI篇:加入购物车动画
很多電商app的加入購物車的動作會要求加上動畫效果:飛進購物車,想來也合理,在listview界面時商品快速加入購物車,一直toast用戶加入成功好像不太正常,所以添加一個動畫,用戶自然就懂了,而且也挺美觀。這里記錄一個這樣的demo,demo里面的注釋足夠詳細,這里也會給出部分代碼說明。
上效果
動畫效果
上說明
使用方法1:
如果現成的效果還不夠自己想要的效果,下載demo,把demo中library中的兩個類拷貝出來放進自己的view文件夾,然后直接去修改它們,修改成滿足自己需求的效果。
使用方法2:
如果覺得現成的效果足夠滿足自己需求了直接使用gradle依賴的方式:
1.Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
2.Add the dependency:
dependencies {
compile 'com.github.paradoxie:ShopAnimDemo:0.1'
}
自定義說明:
//啟動動畫
public void startAnim(View v) {
int[] end_location = new int[2];
int[] start_location = new int[2];
v.getLocationInWindow(start_location);// 獲取購買按鈕的在屏幕的X、Y坐標(動畫開始的坐標)
car.getLocationInWindow(end_location);// 這是用來存儲動畫結束位置,也就是購物車圖標的X、Y坐標
buyImg = new ImageView(this);// buyImg是動畫的圖片
buyImg.setImageResource(R.mipmap.sign);// 設置buyImg的圖片
// mAniManager.setTime(5500);//自定義時間
mAniManager.setAnim(this, buyImg, start_location, end_location);// 開始執行動畫
mAniManager.setOnAnimListener(new AniManager.AnimListener() {
@Override
public void setAnimBegin(AniManager a) {
//動畫開始時的監聽
}
@Override
public void setAnimEnd(AniManager a) {
//動畫結束后的監聽
num += 5;
buyNumView.setText(num + "");
buyNumView.show();
}
});
}
寫一個點擊事件中可直接調用的方法,內部實現為動畫的配置,包括:動畫的起點,即點擊view的位置;動畫的終點,即購物車圖標的位置;界面上飛來飛去那個小圖標;動畫的持續時間;然后調用方法開始執行動畫。這里給出了動畫開始和結束的監聽回調,因為一般在結束之后是需要修改一些顯示狀態的,具體查看demo實現效果。
另外,在圖標之上有一個數字標簽BadgeView,使用了自定義控件實現,使用時具體配置:
buyNumView = new BadgeView(this, car);//把這個數字標簽放在購物車圖標上
buyNumView.setBadgePosition(BadgeView.POSITION_CENTER);//放在圖標中心
buyNumView.setTextColor(Color.WHITE);//數字顏色
buyNumView.setBadgeBackgroundColor(Color.BLUE);//背景顏色
buyNumView.setTextSize(9);//數字大小
注釋給得十分清楚了,可去修改自己想要的效果。具體的使用配置只有這些,很容易理解哇
源碼中獲取ViewGroup時使用的是Activity.getWindow().getDecorView(),所以理論上支持所有activity和fragment中實現此效果,具體木有測試,如果有問題可以根據情況修改。本人正式項目中就是在fragment實現這個效果,雖然不是用的這個依賴庫。
【UI篇】擴展閱讀
本文作者:paradoxie
個人主頁:謝盒盒的小黑屋,不止說技術
簡書地址:簡書主頁,專注說技術
github地址:paradoxie
轉載請注明出處,蟹蟹!
-------我的夢想真的是做一條咸魚!
總結
以上是生活随笔為你收集整理的android长按加入购物车,《Android APP可能有的东西》之UI篇:加入购物车动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据显示:Salesforce 旧金山总
- 下一篇: 基于android 定位系统,基于And