Flutter 做一個簡單的大轉(zhuǎn)盤抽獎控件

1.gif

功能實現(xiàn)起來其實非常簡單,將下面三張圖依次疊加起來,然后讓指針轉(zhuǎn)動或者獎勵轉(zhuǎn)動就可以了


image.png

先上代碼

  @override
  void initState() {
    super.initState();
    animationController = AnimationController(
      vsync: this,
      duration: const Duration(milliseconds: 2000),
    );
    animationController.addListener(() {
      if (animationController.status == AnimationStatus.completed) {
        isRunning = false;
        //結(jié)束了
      } else if (animationController.status == AnimationStatus.forward) {
        // print('forward');
      } else if (animationController.status == AnimationStatus.reverse) {
        // print('reverse');
      }
    });
    // 創(chuàng)建一個從0到360弧度的補間動畫 v * 2 * π
  }

  void startAnimation(int index) {
    _animation = Tween<double>(begin: 0, end: 2 + 0.125 * index)
        .animate(CurvedAnimation(
      parent: animationController,
      curve: const Interval(
        0,
        1.0,
        curve: Curves.ease,
      ),
    ));
    setState(() {});
    animationController.reset();
    animationController.forward();
  }

我們提供的素材是有8個獎品.所以我們最終的落點是 0.125 * index,但是我們之前要想多轉(zhuǎn)兩圈再停止所以前面先加2,可以根據(jù)設(shè)計給的圖片改變其實旋轉(zhuǎn)的圈數(shù)和最終落點的角度,修改角度的正負號就可以實現(xiàn)向左轉(zhuǎn)動還是向右轉(zhuǎn)動

Widget wheelView() {
    return SizedBox(
      width: 300,
      height: 300,
      child: Stack(
        children: [
          Align(
            alignment: Alignment.center,
            child: Image.asset(
              'assets/lucky_wheel/bg_zhuanpan.png',
              width: 300,
            ),
          ),
          Align(
            alignment: Alignment.center,
            child: RotationTransition(
                turns: _animation,
                child: Image.asset(
                  'assets/lucky_wheel/bg_superjiangpin.png',
                  width: 290,
                )),
          ),
          Align(
            alignment: Alignment.center,
            child: GestureDetector(
              onTap: buttonOnClickStartRun,
              child: Image.asset(
                'assets/lucky_wheel/ic_pointer.png',
                width: 150,
              ),
            ),
          ),
        ],
      ),
    );
  }

最后是控件本身非常簡單,如果想轉(zhuǎn)盤轉(zhuǎn),就把bg_superjiangpin設(shè)置動畫,如果想指針轉(zhuǎn)就用ic_pointer設(shè)置動畫

github地址:https://github.com/CZXBigBrother/flutter_lucky_wheel

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爱谁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子孝偎,更是在濱河造成了極大的恐慌访敌,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衣盾,死亡現(xiàn)場離奇詭異寺旺,居然都是意外死亡,警方通過查閱死者的電腦和手機势决,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門阻塑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人果复,你說我怎么就攤上這事陈莽。” “怎么了虽抄?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵走搁,是天一觀的道長。 經(jīng)常有香客問我迈窟,道長朱盐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任菠隆,我火速辦了婚禮兵琳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骇径。我一直安慰自己躯肌,他們只是感情好,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布破衔。 她就那樣靜靜地躺著清女,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晰筛。 梳的紋絲不亂的頭發(fā)上嫡丙,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天拴袭,我揣著相機與錄音,去河邊找鬼曙博。 笑死拥刻,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的父泳。 我是一名探鬼主播般哼,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惠窄!你這毒婦竟也來了蒸眠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤杆融,失蹤者是張志新(化名)和其女友劉穎楞卡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脾歇,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡臀晃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了介劫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徽惋。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖座韵,靈堂內(nèi)的尸體忽然破棺而出险绘,到底是詐尸還是另有隱情,我是刑警寧澤誉碴,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布宦棺,位于F島的核電站,受9級特大地震影響黔帕,放射性物質(zhì)發(fā)生泄漏代咸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一成黄、第九天 我趴在偏房一處隱蔽的房頂上張望呐芥。 院中可真熱鬧,春花似錦奋岁、人聲如沸思瘟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滨攻。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間光绕,已是汗流浹背女嘲。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留诞帐,地道東北人欣尼。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像景埃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子顶别,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容