android steper 控件,Flutter 步骤进度组件

​老孟导读:最近文章更新拖后腿了,一直忙着网站改版的事情,今天总算落地了,全新的Flutter网站即将上线,敬请期待。网站目前收集197个组件的详细用法,还有150多个组件待整理。

Stepper

Stepper控件是一个展示一系列步骤进度的控件,用法如下:

Stepper(

steps: [

Step(

title: Text('2020-4-23'),

content: Text('今天是2020-4-23')

),

Step(

title: Text('2020-4-24'),

content: Text('今天是2020-4-24')

),

Step(

title: Text('2020-4-25'),

content: Text('今天是2020-4-25')

),

],

)

效果如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

Step还可以设置subtitle属性,用法如下:

Step(

title: Text('2020-4-23'),

subtitle: Text('老孟'),

content: Text('今天是2020-4-23')

)

效果如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

state参数可以设置为StepState.complete、StepState.indexed等,其余参数可以参考StepState类,用法如下:

Step(

title: Text('2020-4-23'),

subtitle: Text('老孟'),

content: Text('今天是2020-4-23'),

state: StepState.complete

)

影响字体样式和圆圈内图标:

AAffA0nNPuCLAAAAAElFTkSuQmCC

设置为StepState.error的效果:

AAffA0nNPuCLAAAAAElFTkSuQmCC

点击事件:

Stepper(

onStepCancel: (){

print('onStepCancel');

},

onStepContinue: (){

print('onStepContinue');

},

onStepTapped: (index){

print('onStepTapped:$index');

},

...

)

onStepCancel:点击CANCEL回调。

onStepContinue:点击CONTINUE回调。

onStepTapped:点击Step时回调。

效果如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

切换显示的Step,设置如下:

int _currentStep = 0;

Stepper(

onStepTapped: (index) {

setState(() {

_currentStep = index;

});

},

currentStep: _currentStep,

...

)

效果如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

我们最关心的是每一个Step下面的2个按钮如何去掉呢?可以使用controlsBuilder,用法如下:

Stepper(

controlsBuilder: (BuildContext context, {VoidCallback onStepContinue, VoidCallback onStepCancel}){

return Row(

children: [],

);

},

...

)

效果如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

修改下面的2个按钮:

Stepper(

controlsBuilder: (BuildContext context, {VoidCallback onStepContinue, VoidCallback onStepCancel}){

return Row(

children: [

RaisedButton(

child: Text('确定'),

onPressed: onStepContinue,

),

RaisedButton(

child: Text('取消'),

onPressed: onStepCancel,

),

],

);

},

...

)

效果如下:

Stepper(

controlsBuilder: (BuildContext context, {VoidCallback onStepContinue, VoidCallback onStepCancel}){

return Row(

children: [

FlatButton(

child: Text('确定'),

onPressed: onStepContinue,

),

FlatButton(

child: Text('取消'),

onPressed: onStepCancel,

),

],

);

},

onStepTapped: (index) {

setState(() {

_currentStep = index;

});

},

onStepContinue: (){},

onStepCancel: (){},

...

)

效果如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

交流

老孟Flutter博客地址(近200个控件用法):http://laomengit.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值