這篇文章主要介紹了怎么使用Android實現(xiàn)購物車頁面及購物車效果,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、泰和網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為泰和等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。Android實現(xiàn)購物車頁面及購物車效果(點擊動畫),具體如下:
效果圖如下:
思路:
(1)思考每個條目中的數(shù)字的更新原理。
(2)購物車的動畫效果。
(3)購物清單怎么顯示(這個我暫時沒有寫,如果需要的話,可以在我的簡書下給我留言)。
1.因為進(jìn)入頁面,所有的商品個數(shù)都顯示為零,所以我用 ArrayList<HashMap<String, Object>> data,把商品集合都附上零:
//下面把data都添加0,為了剛開始顯示時,顯示的是0 for (int i = 0; i < list.size(); i++) { HashMap<String, Object> myhashmap = new HashMap<String, Object>(); myhashmap.put("number", "" + 0); data.add(myhashmap); }
然后把data傳入Adapter:
adapter = new MyAdapter(data);
當(dāng)我們對商品進(jìn)行增減時,我們可以通過hashmap來更改,如下是增加商品的部分代碼:
b = Integer.parseInt((String) data.get(position).get( "number")); data.get(position).put("number", "" + (b + 1));
2.購物車動畫效果:
首先獲取點擊時的XY坐標(biāo),并且設(shè)置動畫圖片:
// ball是個imageview startLocation = new int[2];// 一個整型數(shù)組,用來存儲按鈕的在屏幕的X、Y坐標(biāo) view.getLocationInWindow(startLocation);// 這是獲取購買按鈕的在屏幕的X、Y坐標(biāo)(這也是動畫開始的坐標(biāo)) ball = new ImageView(MainActivity.this); ball.setImageResource(R.mipmap.sign);// 設(shè)置動畫的圖片我的是一個小球(R.mipmap.sign)
然后是開始執(zhí)行動畫:
private void setAnim(final View v, int[] startLocation) { anim_mask_layout = null; anim_mask_layout = createAnimLayout(); //創(chuàng)建動畫層 anim_mask_layout.addView(v);//把動畫小球添加到動畫層 final View view = addViewToAnimLayout(anim_mask_layout, v, startLocation); int[] endLocation = new int[2];// 存儲動畫結(jié)束位置的X、Y坐標(biāo) re_zhongcai_tanchu.getLocationInWindow(endLocation);// re_zhongcai_tanchu是那個拋物線最后掉落的控件 // 計算位移 int endX = 0 - startLocation[0] + 40;// 動畫位移的X坐標(biāo) int endY = endLocation[1] - startLocation[1];// 動畫位移的y坐標(biāo) TranslateAnimation translateAnimationX = new TranslateAnimation(0, endX, 0, 0); translateAnimationX.setInterpolator(new LinearInterpolator()); translateAnimationX.setRepeatCount(0);// 動畫重復(fù)執(zhí)行的次數(shù) translateAnimationX.setFillAfter(true); TranslateAnimation translateAnimationY = new TranslateAnimation(0, 0, 0, endY); translateAnimationY.setInterpolator(new AccelerateInterpolator()); translateAnimationY.setRepeatCount(0);// 動畫重復(fù)執(zhí)行的次數(shù) translateAnimationX.setFillAfter(true); final AnimationSet set = new AnimationSet(false); set.setFillAfter(false); set.addAnimation(translateAnimationY); set.addAnimation(translateAnimationX); set.setDuration(800);// 動畫的執(zhí)行時間 view.startAnimation(set); // 動畫監(jiān)聽事件 set.setAnimationListener(new Animation.AnimationListener() { // 動畫的開始 @Override public void onAnimationStart(Animation animation) { v.setVisibility(View.VISIBLE); // Log.e("動畫","asdasdasdasd"); } @Override public void onAnimationRepeat(Animation animation) { // TODO Auto-generated method stub } // 動畫的結(jié)束 @Override public void onAnimationEnd(Animation animation) { v.setVisibility(View.GONE); set.cancel(); animation.cancel(); } }); }
需要注意的是,當(dāng)動畫結(jié)束必須關(guān)閉動畫:
v.setVisibility(View.GONE); set.cancel(); animation.cancel();
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么使用Android實現(xiàn)購物車頁面及購物車效果”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
文章題目:怎么使用Android實現(xiàn)購物車頁面及購物車效果-創(chuàng)新互聯(lián)
當(dāng)前地址:http://vcdvsql.cn/article36/cccipg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、面包屑導(dǎo)航、域名注冊、動態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容