【发布时间】:2019-09-27 16:14:41
【问题描述】:
我有一个视频播放器,并且有一个自定义按钮可以返回。我想在屏幕上显示该按钮,点击并在 1 或 2 秒后隐藏。可以是一个透明的应用栏,在屏幕上点击和隐藏,并且该应用栏包含一个自定义按钮
【问题讨论】:
我有一个视频播放器,并且有一个自定义按钮可以返回。我想在屏幕上显示该按钮,点击并在 1 或 2 秒后隐藏。可以是一个透明的应用栏,在屏幕上点击和隐藏,并且该应用栏包含一个自定义按钮
【问题讨论】:
我假设您能够创建 GestureDetector 或类似的东西,它会向您显示包含后退按钮的 AppBar。
之后你需要做的就是:
bool _showControls = false;
_showAndHideControls() {
setState(() {
_showControls = true; // show controls the moment user tapped on screen
});
Timer(Duration(seconds: 2), () {
setState(() {
_showControls = false; // after 2 seconds, hide the controls
});
});
}
【讨论】:
输出:
完整代码:
void main() => runApp(MaterialApp(home: YourPage()));
class YourPage extends StatefulWidget {
@override
_YourPageState createState() => _YourPageState();
}
class _YourPageState extends State<YourPage> {
bool _showControls = false; // set it to false initially
_showAndHideControls() {
// show controls the moment user tapped on screen
setState(() => _showControls = true);
// after 2 seconds, hide the controls
Timer(Duration(seconds: 2), () {
setState(() => _showControls = false);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: _showControls ? AppBar(title: Text("AppBar")) : null,
body: Center(
child: RaisedButton(
child: Text("Click me"),
onPressed: _showAndHideControls,
),
),
);
}
}
【讨论】: