日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android长按加入购物车,《Android APP可能有的东西》之UI篇:加入购物车动画

發(fā)布時間:2023/12/15 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android长按加入购物车,《Android APP可能有的东西》之UI篇:加入购物车动画 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

很多電商app的加入購物車的動作會要求加上動畫效果:飛進(jìn)購物車,想來也合理,在listview界面時商品快速加入購物車,一直toast用戶加入成功好像不太正常,所以添加一個動畫,用戶自然就懂了,而且也挺美觀。這里記錄一個這樣的demo,demo里面的注釋足夠詳細(xì),這里也會給出部分代碼說明。

上效果

動畫效果

上說明

使用方法1:

如果現(xiàn)成的效果還不夠自己想要的效果,下載demo,把demo中l(wèi)ibrary中的兩個類拷貝出來放進(jìn)自己的view文件夾,然后直接去修改它們,修改成滿足自己需求的效果。

使用方法2:

如果覺得現(xiàn)成的效果足夠滿足自己需求了直接使用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坐標(biāo)(動畫開始的坐標(biāo))

car.getLocationInWindow(end_location);// 這是用來存儲動畫結(jié)束位置,也就是購物車圖標(biāo)的X、Y坐標(biāo)

buyImg = new ImageView(this);// buyImg是動畫的圖片

buyImg.setImageResource(R.mipmap.sign);// 設(shè)置buyImg的圖片

// mAniManager.setTime(5500);//自定義時間

mAniManager.setAnim(this, buyImg, start_location, end_location);// 開始執(zhí)行動畫

mAniManager.setOnAnimListener(new AniManager.AnimListener() {

@Override

public void setAnimBegin(AniManager a) {

//動畫開始時的監(jiān)聽

}

@Override

public void setAnimEnd(AniManager a) {

//動畫結(jié)束后的監(jiān)聽

num += 5;

buyNumView.setText(num + "");

buyNumView.show();

}

});

}

寫一個點擊事件中可直接調(diào)用的方法,內(nèi)部實現(xiàn)為動畫的配置,包括:動畫的起點,即點擊view的位置;動畫的終點,即購物車圖標(biāo)的位置;界面上飛來飛去那個小圖標(biāo);動畫的持續(xù)時間;然后調(diào)用方法開始執(zhí)行動畫。這里給出了動畫開始和結(jié)束的監(jiān)聽回調(diào),因為一般在結(jié)束之后是需要修改一些顯示狀態(tài)的,具體查看demo實現(xiàn)效果。

另外,在圖標(biāo)之上有一個數(shù)字標(biāo)簽BadgeView,使用了自定義控件實現(xiàn),使用時具體配置:

buyNumView = new BadgeView(this, car);//把這個數(shù)字標(biāo)簽放在購物車圖標(biāo)上

buyNumView.setBadgePosition(BadgeView.POSITION_CENTER);//放在圖標(biāo)中心

buyNumView.setTextColor(Color.WHITE);//數(shù)字顏色

buyNumView.setBadgeBackgroundColor(Color.BLUE);//背景顏色

buyNumView.setTextSize(9);//數(shù)字大小

注釋給得十分清楚了,可去修改自己想要的效果。具體的使用配置只有這些,很容易理解哇

源碼中獲取ViewGroup時使用的是Activity.getWindow().getDecorView(),所以理論上支持所有activity和fragment中實現(xiàn)此效果,具體木有測試,如果有問題可以根據(jù)情況修改。本人正式項目中就是在fragment實現(xiàn)這個效果,雖然不是用的這個依賴庫。

【UI篇】擴(kuò)展閱讀

本文作者:paradoxie

個人主頁:謝盒盒的小黑屋,不止說技術(shù)

簡書地址:簡書主頁,專注說技術(shù)

github地址:paradoxie

轉(zhuǎn)載請注明出處,蟹蟹!

-------我的夢想真的是做一條咸魚!

總結(jié)

以上是生活随笔為你收集整理的android长按加入购物车,《Android APP可能有的东西》之UI篇:加入购物车动画的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。