好的,我正在使用Flutter开发一个媒体播放器应用程序。现在当我按下播放按钮时,它变成了暂停按钮。(只有按钮上的图标改变)
按钮的onPressed函数更改布尔值并调用setstate()
方法。
bool _playing = false;
void _onPlayButtonPressed() {
setState () {
if (_playing)
_playing = false;
else
_playing = true;
}
}
Widget _playButtonIcon() {
//This function has no setState() call
if (_playing)
//return pause icon
else
//return play icon
}
这种做法是合理的,还是矫枉过正?
我是否必须将按钮放在不同的有状态小部件类上,并在每次点击这个播放按钮时通过setstate()
调用它的构建方法?
如果我有其他小部件,也改变了UI的状态。可能会改变不同的小部件?
什么是正确的方法来做到这一点,而没有一个性能打击?
创建一个播放按钮,它是一个自己的小部件,具有维护它是否正在播放的状态,这绝对是有意义的。现在,当您在父小部件上调用setState时,它确实调用了构建方法,但据我所知,它不一定从头重新绘制所有内容。如果在一些嵌入的小部件中没有发现更改,它不会重新绘制它们,因为它们已经在小部件树中了。最后,调用setstate是可以的,但是如果应用程序开始变大,并且您发现自己在太多的地方调用setstate,并且希望使用全局密钥,我建议您查看Provider包,并使用changeNotifier/consumer模式。
我正在尝试使用Flutter中的进度状态按钮。在pub.dev文档中,小部件的设置如下
本文向大家介绍bootstrap改变按钮加载状态,包括了bootstrap改变按钮加载状态的使用技巧和注意事项,需要的朋友参考一下 bootstrap里面有个激活按钮的时候,按钮变成不可用的; 按照官网里面的方法介绍是在button按钮加个 data-loading-text="Loading..." 属性,然后js总体代码是这样: 其中autocomplete="off"属性是针对FF浏览器在页
有人知道怎么解决吗?
我需要帮助。我想做一个按钮,对一个数字进行四舍五入,十进制乘以十进制,比如 1.2345 到 1.234 到 1.23 等。我不想使用 Math.round,因为它四舍五入到一个整数,而且我不知道我是否可以使用 *10/10、*100/100 等,因为我的答案中得到了不同的小数点。在我点击 并完成答案后,此按钮必须在计算器上工作。 我还需要帮助来使用到“List”组件中的标签。
我目前正在Flutter中开发一个Android应用程序。如何添加圆角按钮?
所以假设我有一个“开”和一个“关”按钮。当我按下打开按钮时,我希望打开按钮隐藏自己,关闭按钮显示出来,反之亦然。 一个人怎么能这么做?