如何在24小时内颤动使车轮旋转一次?

时间:2019-08-20 09:40:23

标签: animation flutter dart

我有一个轮子,想在24小时内旋转一次。 我使用了jlong插件,但无法理解它的参数,例如flutter_spinning_wheelinitialSpinAngle:spinResistance:canInteractWhileSpinning:onUpdate:

onEnd:

2 个答案:

答案 0 :(得分:0)

我不知道您在这里使用的软件包的规格,但是已经完成了类似的任务:

Transform.rotate(
      angle: _a,
      child: Container(
        decoration: BoxDecoration(
           shape: BoxShape.circle,
         ),      
       ),
 ),

您需要创建一些周期来设置_a(角度):

const oneSec = const Duration(minute: 1);
Timer.periodic(oneSec, (Timer t) => {
    setState((){
        _a = calcAngle();
    });
});

下一步是实现calcAngle()

double calcAngle() {
    return _a + (2 * pi) / 60; moving / minute
}

答案 1 :(得分:0)

尝试一下,

import 'package:flutter/material.dart';
import 'dart:math';

class _MainPageState extends State<MainPage> with SingleTickerProviderStateMixin {
  AnimationController _controller;

  @override
  void initState() {
    super.initState();

    _controller = AnimationController(vsync: this, duration: Duration(seconds: 2))..repeat();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: AnimatedBuilder(
          animation: _controller,
          builder: (_, child) {
            return Transform.rotate(
              angle: _controller.value * 2 * pi,
              child: child,
            );
          },
          child: FlutterLogo(size: 200),
        ),
      ),
    );
  }
}