android - 是否有实现欢迎屏幕的小部件?
问题描述
我正在尝试实现一个“欢迎屏幕”,每次打开应用程序时都会显示该屏幕。因此,在“应用程序介绍屏幕”的意义上,它不是常见的欢迎屏幕。欢迎屏幕应滑动到顶部,以在主页上“进入”应用程序。因此,我希望这个小部件位于主页的顶部,可能在堆栈小部件中,因此当欢迎页面滑动到顶部时,主页是部分可见的。之后,欢迎屏幕不再可见。所以我的问题是,是否有提供这些可能性的小部件。
我的方法如下:
我已经尝试过 PageView,但这不支持两个屏幕的覆盖(堆栈)。
在这个问题的答案中建议的“滑动容器” 。 但我无法将容器“转换”为上述要求。
其他一些想法是使用颤振滑动器,但我认为适应太难了。
因此,我希望得到一些我可以用来实现它的库的建议。
先感谢您!
解决方案
可能有更好的方法来做到这一点,但......
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome Demo',
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
final Widget welcome = WelcomeView();
final Widget home = HomeView();
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Stack(
children: [
Positioned.fill(child: home),
Positioned(bottom: 100, child: welcome),
],
),
),
);
}
}
class HomeView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
color: Colors.red,
child: Center(
child: Text(
'HomeView',
style: TextStyle(fontSize: 28),
textAlign: TextAlign.center,
),
),
);
}
}
class WelcomeView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Dismissible(
key: UniqueKey(),
direction: DismissDirection.up,
child: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Welcome!!!',
style: TextStyle(fontSize: 28),
),
],
),
),
);
}
}
推荐阅读
- r - 在 R 中将 87x2 矩阵转换为 29x6
- java - 将变量从一个类传递到另一个类
- javascript - FlowJS - 数字......与字符串不兼容
- reactjs - 为什么我们不需要在 React 中绑定箭头函数?
- bash - docker run 不在 /etc/profile.d/ 中运行我的脚本
- r - R中的面板数据处理
- xamarin - 在 Xamarin 中捕获后显示图像
- c# - “找不到编码 1252 的数据” iTextSharp 使用日文字体
- python - 升级到 macOS Mojave 后出现编译错误 | 致命错误:limits.h:没有这样的文件或目录
- floating-point - PROLOG - 如何舍入浮点数的小数?