【发布时间】:2020-01-02 14:44:49
【问题描述】:
我需要一个点赞按钮,点击一次会增加点赞数,第二次点击会减少点赞数,如何判断按钮是否被点击
这是我的客户颤振小部件练习
按钮小部件
lass ButtonBuilder extends StatefulWidget{
final Icon icon;
ButtonBuilder({this.icon,});
_ButtonBuilderState createState()=>_ButtonBuilderState(this.icon);
}
class _ButtonBuilderState extends State<ButtonBuilder>{
final Icon _icon;
_ButtonBuilderState(this._icon);
final _bloc=ButtonCounterBloc();
@override
Widget build(BuildContext context) {
return RootButton(
child: StreamBuilder(
stream: _bloc.counter,
initialData: 0,
builder: (BuildContext context,AsyncSnapshot snapshot){
return _buildButton(_icon,'${snapshot.data}');
},
),
);
}
_buildButton(Icon _icon,String _text){
return Column(
children: <Widget>[
IconButton(
icon: _icon,
onPressed: ()=>_bloc.buttonEventSink.add(FirstOnPressedEvent()),
),
Text(_text),
],
);
}
}
main.dart
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ButtonBuilder(icon: Icon(Icons.thumb_up),),
ButtonBuilder(icon: Icon(Icons.thumb_down),),
],
),
),
);
}
}
我不知道如何检查按钮是否被点击
【问题讨论】:
-
简单地使用一个布尔变量initialy一旦按下使其为真再次按下时检查它是否已经为真然后将其设为假
标签: android ios flutter dart bloc