是否有任何解决方案可以使我的 Flare Button 正常工作?扑
Is there any solution to make my Flare Button work properly? Flutter
基本上,我有一个用 Flare 制作的按钮,它应该制作动画然后我点击它!它运行良好,但每次我点击我的应用程序中的任何地方时动画都会开始,而不仅仅是按钮。
有什么方法可以让我只在点击按钮区域时制作动画?我正在使用 GestureDetector 来处理点击。
https://i.stack.imgur.com/ZBjmz.jpg
我的代码:
import 'package:flutter/material.dart';
import 'package:flare_flutter/flare_actor.dart';
import 'package:vibrate/vibrate.dart';
void main() => runApp(MaterialApp(
home: InvalidButton(),
));
class InvalidButton extends StatefulWidget {
@override
_InvalidButtonState createState() => _InvalidButtonState();
}
class _InvalidButtonState extends State<InvalidButton> {
var _type = FeedbackType.heavy;
final FlareControls controls = FlareControls();
void _playAnimation(){
controls.play('invalid');
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.pink[50],
body: Container(
child: GestureDetector(
onTap: () {
setState(() {
_playAnimation();
Vibrate.feedback(_type);
});
},
child: FlareActor(
'assets/invalid_button.flr',
animation: 'invalid',
alignment: Alignment.center,
fit: BoxFit.contain,
controller: controls,
),
),
),
);
}
}
我是新手,很乐意提供任何帮助!
Rive 编辑器中的按钮周围有 space 吗?如果是这样,请进入设计模式,单击画板,然后单击 "fit contents"。那应该删除额外的 space。然后,用 SizedBox 包裹 FlareActor 并设置其大小,如下所示:
SizedBox(
width: 100,
height: 100,
child: FlareActor(),
)
应该这样做。
基本上,我有一个用 Flare 制作的按钮,它应该制作动画然后我点击它!它运行良好,但每次我点击我的应用程序中的任何地方时动画都会开始,而不仅仅是按钮。 有什么方法可以让我只在点击按钮区域时制作动画?我正在使用 GestureDetector 来处理点击。
https://i.stack.imgur.com/ZBjmz.jpg
我的代码:
import 'package:flutter/material.dart';
import 'package:flare_flutter/flare_actor.dart';
import 'package:vibrate/vibrate.dart';
void main() => runApp(MaterialApp(
home: InvalidButton(),
));
class InvalidButton extends StatefulWidget {
@override
_InvalidButtonState createState() => _InvalidButtonState();
}
class _InvalidButtonState extends State<InvalidButton> {
var _type = FeedbackType.heavy;
final FlareControls controls = FlareControls();
void _playAnimation(){
controls.play('invalid');
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.pink[50],
body: Container(
child: GestureDetector(
onTap: () {
setState(() {
_playAnimation();
Vibrate.feedback(_type);
});
},
child: FlareActor(
'assets/invalid_button.flr',
animation: 'invalid',
alignment: Alignment.center,
fit: BoxFit.contain,
controller: controls,
),
),
),
);
}
}
我是新手,很乐意提供任何帮助!
Rive 编辑器中的按钮周围有 space 吗?如果是这样,请进入设计模式,单击画板,然后单击 "fit contents"。那应该删除额外的 space。然后,用 SizedBox 包裹 FlareActor 并设置其大小,如下所示:
SizedBox(
width: 100,
height: 100,
child: FlareActor(),
)
应该这样做。