dee*_*pan 1 flutter bottom-sheet
如何在颤动的底片内实现滑块。我试过了,但滑块没有移动。但是如果我把滑块放在一个新的脚手架上,它就起作用了。帮我。提前致谢。
这是我的代码。
new InkWell(
onTap: () {
// fire_ac_on_1();
},
onDoubleTap:(){
_showModalSheet_ac();
}
onLongPress: () {
selectTime(context);
},
child: new IconButton(
icon: new Image.asset('images/ac.png',
color: ac_on_state == true ? Colors
.green : Colors.redAccent),
onPressed: () {
fire_ac_on();
},
iconSize: 80.0,
),
),
Run Code Online (Sandbox Code Playgroud)
// ModalBottom Sheet void _showModalSheet_ac(){
double height = MediaQuery.of(context).size.height;
//print(height);
showModalBottomSheet(context: context, builder: (builder){
return new Container(
height: height - 200.0,
child: new Center(
child: new Column(
children: <Widget>[
new Container(
child: new Slider(
value: slider_value,
onChanged: onchanged),
)
)
],
),
)
);
});
Run Code Online (Sandbox Code Playgroud)
}
onchanged(双值){
setState(() {
slider_value = value;
});
print(slider_value);
Run Code Online (Sandbox Code Playgroud)
}
Emm*_*oza 11
bottomSheet 不是有状态的,这就是为什么当您在 Slider 中调用 setState 时它不会重建的原因。
您必须使用 StatefulBuilder 包装您的 Slider 小部件。
StatefulBuilder(
builder: (context, setState){
return Slider(
value: _value,
onChanged: (selection){
setState(() {
_value = selection;
});
},
);
},
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2470 次 |
| 最近记录: |