如何使交互式图标在颤动



我有一个小问题。

我想点击我的自定义图标,但我不知道如何做到:c

点击后,我想转到另一个小部件,但有了它,我可以尝试工作(我希望(

如果你也能告诉我如何使用整个小部件。

class secondWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
height: 100,
width: 100,
margin: EdgeInsets.only(top: 100, bottom: 10),
color: Colors.pink,
child: new Icon(const IconData(0xe800, fontFamily: 'Dupa')),
//this is not working :c
onPressed: () {
newWidgetGoBrr();
});
);

Container没有onPressed。您需要将GestureDetector小部件与Container或Icon一起使用。

GestureDetector(
onTap: () {
// after click logic goes here.
newWidgetGoBrr();
},
child: Container(
height: 100,
width: 100,
margin: EdgeInsets.only(top: 100, bottom: 10),
color: Colors.pink,
child: new Icon(const IconData(0xe800, fontFamily: 'Dupa')),
),
),

您需要的是某种类型的检测器,可以检测您的手势。它可以通过许多小部件获得,但最常用的是GestureDetectorInkWell

您可以用任意一个小部件包装您的图标。这些小部件允许您访问onTap属性。

用Inkwell/GestureDector包装Icon比包装整个容器要好(这取决于您的要求(。

你可以这样实现:

class secondWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
height: 100,
width: 100,
margin: EdgeInsets.only(top: 100, bottom: 10),
color: Colors.pink,
child: InkWell(
onTap: newWidgetGoBrr(), // your logic
child: Icon(
const IconData(0xe800, fontFamily: 'Dupa'),
),
),
);
}
}

注意:有了新的flutter版本,您就不需要再使用new关键字了。

最新更新