電商活動中刮刮卡的實現

2022-08-22 05:36:09 字數 1886 閱讀 8407

一、實現原理

paint.setxfermode();

a、繪製我們的圓形

b、setxfermode(srcin)

c、繪製矩形(正方形)

二、主要思想:

將乙個view設計成多層:背景層,含中獎資訊等;

遮蓋層,用於刮獎,使用關聯乙個bitmap的canvas

在該bitmap上,使用它的canvas.drawpath的api來處理 手勢滑動(類似刮獎的動作)

使用paint.setxfermode 來進行消除手勢滑動區域

當刮開90%的時候會全部消失。

三、**實現

public class guaguaka extends view

private onguaguakacompletelistener mlistener;

public void setonguaguakacompletelistener(

onguaguakacompletelistener mlistener)

public guaguaka(context context)

public guaguaka(context context, attributeset attrs)

public guaguaka(context context, attributeset attrs, int defstyle)

}} finally

}public void settext(string mtext)

@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec)

/*** 設定我們繪製獲獎資訊的畫筆屬性

*/private void setupbackpaint()

/*** 設定繪製path畫筆的一些屬性

*/private void setupoutpaint()

@override

public boolean ontouchevent(motionevent event)

mlastx = x;

mlasty = y;

break;

case motionevent.action_up:

if (!mcomplete)

new thread(mrunnable).start();

break;

} if (!mcomplete)

invalidate();

return true;

}

我們在action_up的時候就行計算,首先我們還是給大家灌輸下計算的原理,如果大家用心看了,應該知道我們所有的操作基本都在mbitmap,現在我們獲得mbitmap上所有的畫素點的資料,統計被清除的區域(被清除的畫素為0);最後與我們的總畫素數做個除法元算,就可以拿到我們清除的百分比了;不過,計算可能會是乙個耗時的操作,具體速度跟大小有關,所以我們決定使用非同步的方式去計算:
private runnable mrunnable = new runnable()}}

if (wipearea > 0 && totalarea > 0)

}} };

@override

protected void ondraw(canvas canvas)

if (mcomplete)

}} private void drawpath()

/*** 進行一些初始化操作

*/private void init()

}

view的自定義控制項:

競拍型別電商活動技術實踐

競拍是具有很強使用者體驗的一種電商活動形式。在競拍期間,眾多使用者不斷出價,交替登頂榜首 最終競拍結束時,出價最高的n位使用者獲得獎品。產品出價 競拍榜單 檢查競拍活動時間 檢查活動時間是否在競拍活動時間範圍內。檢查使用者出價次數 為公平起見,限制使用者在競拍單個產品時的單日出價次數。檢查競拍使用者...

電商平台滿減活動需求分析

1 各大電商常用的滿減方式 商家 要求在某平台上進行乙個店鋪範圍內的滿減,也就是說,只有該店鋪的商品才能滿減,就算是同款商品,在其他的店鋪內,那也是沒有滿減活動的。型別 某個型別下的所有商品都參加的活動,例如 某寶搞過一次 家電節 那麼是在家電型別下的所有商品都參加滿減的優惠活動 上面說的商品範圍都...

電商系統 好用的電商系統 電商管理系統

好用的電商管理系統 首先對於日漸擴大的電商行業來說,每日訂單資料統計 訂單產品的分類 老客戶的維護 店鋪每日的實際收入 庫存情況 採購物品的資訊跟蹤都是需要我們花時間去統計和關注的,所以電商管理最主要的作用應該體現在 1.商品管理 2.庫存管理 3.採購管理 4.訂單管理 5.配送結算 6.財務管理...