我有一个轮子,想在24小时内旋转一次。
我使用了jlong
插件,但无法理解它的参数,例如flutter_spinning_wheel
,initialSpinAngle:
,spinResistance:
,canInteractWhileSpinning:
和onUpdate:
onEnd:
答案 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),
),
),
);
}
}