一、實現原理
paint.setxfermode();
a、繪製我們的圓形
b、setxfermode(srcin)
c、繪製矩形(正方形)
二、主要思想:
將乙個view設計成多層:背景層,含中獎資訊等;
遮蓋層,用於刮獎,使用關聯乙個bitmap的canvas
在該bitmap上,使用它的canvas.drawpath的api來處理 手勢滑動(類似刮獎的動作)
使用paint.setxfermode 來進行消除手勢滑動區域
當刮開90%的時候會全部消失。
三、**實現
public class guaguaka extends view我們在action_up的時候就行計算,首先我們還是給大家灌輸下計算的原理,如果大家用心看了,應該知道我們所有的操作基本都在mbitmap,現在我們獲得mbitmap上所有的畫素點的資料,統計被清除的區域(被清除的畫素為0);最後與我們的總畫素數做個除法元算,就可以拿到我們清除的百分比了;不過,計算可能會是乙個耗時的操作,具體速度跟大小有關,所以我們決定使用非同步的方式去計算: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;
}
private runnable mrunnable = new runnable()}}view的自定義控制項:if (wipearea > 0 && totalarea > 0)
}} };
@override
protected void ondraw(canvas canvas)
if (mcomplete)
}} private void drawpath()
/*** 進行一些初始化操作
*/private void init()
}
競拍型別電商活動技術實踐
競拍是具有很強使用者體驗的一種電商活動形式。在競拍期間,眾多使用者不斷出價,交替登頂榜首 最終競拍結束時,出價最高的n位使用者獲得獎品。產品出價 競拍榜單 檢查競拍活動時間 檢查活動時間是否在競拍活動時間範圍內。檢查使用者出價次數 為公平起見,限制使用者在競拍單個產品時的單日出價次數。檢查競拍使用者...
電商平台滿減活動需求分析
1 各大電商常用的滿減方式 商家 要求在某平台上進行乙個店鋪範圍內的滿減,也就是說,只有該店鋪的商品才能滿減,就算是同款商品,在其他的店鋪內,那也是沒有滿減活動的。型別 某個型別下的所有商品都參加的活動,例如 某寶搞過一次 家電節 那麼是在家電型別下的所有商品都參加滿減的優惠活動 上面說的商品範圍都...
電商系統 好用的電商系統 電商管理系統
好用的電商管理系統 首先對於日漸擴大的電商行業來說,每日訂單資料統計 訂單產品的分類 老客戶的維護 店鋪每日的實際收入 庫存情況 採購物品的資訊跟蹤都是需要我們花時間去統計和關注的,所以電商管理最主要的作用應該體現在 1.商品管理 2.庫存管理 3.採購管理 4.訂單管理 5.配送結算 6.財務管理...