flutter 九宫格菜单_Flutter : 一个简单的九宫格抽奖实现

本文介绍了如何使用Flutter构建一个简单的九宫格抽奖功能,包括创建数据类型、控制器、九宫格页面和抽奖动画的详细步骤,展示了完整的代码实现。
摘要由CSDN通过智能技术生成

写在前面

用Flutter实现一个简单的九宫格抽奖

步骤

实现一个九宫格的页面

实现一个控制器用于控制抽奖开始

实现抽奖的动画

过程

定义数据类型

class SimpleLotteryValue {

SimpleLotteryValue(

{this.target = 0, this.isFinish = false, this.isPlaying = false});

/// 中奖目标

int target = 0;

bool isPlaying = false;

bool isFinish = false;

SimpleLotteryValue copyWith({

int target = 0,

bool isPlaying = false,

bool isFinish = false,

}) {

return SimpleLotteryValue(

target: target, isFinish: isFinish, isPlaying: isPlaying);

}

@override

String toString() {

return "target : $target , isPlaying : $isPlaying , isFinish : $isFinish";

}

}

定义控制器

class SimpleLotteryController extends ValueNotifier{

SimpleLotteryController() : super(SimpleLotteryValue());

/// 开启抽奖

///

/// [target] 中奖目标

void start(int target) {

// 九宫格抽奖里范围为0~8

assert(target >= 0 && target <= 8);

if (value.isPlaying) {

return;

}

value = value.copyWith(target: target, isPlaying: true);

}

void finish() {

value = value.copyWith(isFinish: true);

}

}

实现九宫格页面

class SimpleLotteryWidget extends Stateful

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值