WN_LOCK

一款用于flutter 的N宫格锁屏,但是可以有更多的玩法。是你,那么又会有怎样的发现呢?

最新版本

dependencies:
  wn_lock: ^version

演示

例子

使用示例:
@override
  void initState() {
    super.initState();
    // controller 初始化
    _lockController = LockController();
    // 建议将listener抽出并在dispose时remove
    _lockController.addListener(_lockListener);

  }
  @override
  void dispose() {
    super.dispose();
    _lockController.removeListener(_lockListener);
  }
void _lockListener() {
    // 这里的value 的listener将会获取每次用户划过child widget的index
    // 返回值是index的数组
    print('${_lockController.value.offsets}');
}
WNLockWidget(
    lineColor: Colors.amber,
    lineWidth: 2,
    // attr: HeartAttr(color: Colors.green, width: 2),
    // attr: CircleAttr(radius: 5, color: Colors.green, width: 2),
    attr: SquareAttr(length: 5, color: Colors.amber, width: 2),
    controller: _lockController,
    width: 300,
    height: 400,
    row: 5,
    column: 5,
)

参数

属性类型描述默认必填
onPanEndValueChanged<List>当手指离开时结果回调false
controllerLockControllerlock Controllertrue
rowint默认的行数3false
columnint默认的列数3false
attrAttr绘制属性CircleAttr(radius: 10.0)false
touchInChildScaledouble可触碰体积占child比例1false
widthdoublewidget 宽100false
heightdoublewidget 高100false
paddingEdgeInsetswidget 内边距false
marginEdgeInsetswidget 外边距false
lineWidthdouble连线度宽2false
lineColorColor连线颜色Colors.lightBlueAccentfalse
*eachInParentScale(未来版本会实现)doublechild根据row平分column所占空间比0.5false

Libraries

wn_lock