Flutter 手勢密碼控件

一個Flutter編寫的手勢識別驗證鎖。git

例子

設置密碼例子

GestureView(
	immediatelyClear: true,
	size: MediaQuery.of(context).size.width,
	onPanUp: (List<int> items) {
	  setState(() {
	    result = items;
	  });
	},
)
複製代碼
驗證密碼例子

GlobalKey<GestureState> gestureStateKey = GlobalKey();

GestureView(
    key: this.gestureStateKey,
    size: MediaQuery.of(context).size.width*0.8,
    selectColor: Colors.blue,
    onPanUp: (List<int> items) {
      analysisGesture(items);
    },
    onPanDown: () {
      gestureStateKey.currentState.selectColor = Colors.blue;
      setState(() {
        status = 0;
      });
    },
)
複製代碼

基本思想

  • 先使用畫布繪製背景: 九個圓點,每一個點帶屬性是否被選中、顏色、寬度信息。
  • 在繪製線條: 被選中的點按順序相互鏈接,最後一個點和手指當前位置繪製成一條直線。
  • 放回回饋函數: 手指按下和擡起時觸發相應函數,能夠作判斷結果當擡起時,按下時能夠更改顏色當再次輸入時。

項目地址

包地址

相關文章
相關標籤/搜索