博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flutter滚动, 中间显示整图, 前后露出部分图
阅读量:6207 次
发布时间:2019-06-21

本文共 2889 字,大约阅读时间需要 9 分钟。

欢迎去看原文:

效果

代码

代码比较简单,这也是flutter强大的地方。

import 'package:flutter/material.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {  // This widget is the root of your application.  @override  Widget build(BuildContext context) {    return MaterialApp(      title: 'Flutter Demo',      theme: ThemeData(        primarySwatch: Colors.blue,      ),      home: DisplayPage(),    );  }}class DisplayPage extends StatefulWidget {  @override  _DisplayPageState createState() => new _DisplayPageState();}class _DisplayPageState extends State
{ static bool _isAddGradient = false; final List descriptions = [ 'tryenough.com', 'tryenough.com', 'tryenough.com', ]; var decorationBox = DecoratedBox( decoration: _isAddGradient ? BoxDecoration( gradient: LinearGradient( begin: FractionalOffset.bottomRight, end: FractionalOffset.topLeft, colors: [ Color(0x00000000).withOpacity(0.9), Color(0xff000000).withOpacity(0.01), ], ), ) : BoxDecoration(), ); @override Widget build(BuildContext context) { PageController controller = PageController(viewportFraction: 0.8); controller.addListener((){ }); return Scaffold( backgroundColor: Colors.black, body: Center( child: SizedBox.fromSize( size: Size.fromHeight(550.0), child: PageView.builder( controller: controller, itemCount: 3, itemBuilder: (BuildContext context, int index) { return Padding( padding: EdgeInsets.symmetric( vertical: 16.0, horizontal: 8.0, ), child: GestureDetector( onTap: () { Scaffold.of(context).showSnackBar(SnackBar( backgroundColor: Colors.deepOrangeAccent, duration: Duration(milliseconds: 800), content: Center( child: Text( descriptions[index], style: TextStyle(fontSize: 25.0), ), ), )); }, child: Material( elevation: 5.0, borderRadius: BorderRadius.circular(8.0), child: Stack( fit: StackFit.expand, children: [ FlutterLogo(style: FlutterLogoStyle.stacked, colors: Colors.red), decorationBox, ], ), ), ), ); }, ), ), ), ); }}复制代码

核心就是pageview的controller中的viewportFraction属性。尝试修改下看看效果吧。^_^

转载于:https://juejin.im/post/5cc15a366fb9a03228616d14

你可能感兴趣的文章
人工智能时代号角已吹响 COMPUTEX如何凝聚AI这股力量?
查看>>
物联网商机迸发 LPWAN芯片现身 本文转自d1net(转载)
查看>>
站长快讯 WordPress跨站攻击漏洞修补
查看>>
Teradata QueryGrid整合最佳分析技术 拓展客户选择空间
查看>>
《网络空间欺骗:构筑欺骗防御的科学基石》一1.1 主动网络空间防御中网络空间抵赖与欺骗的视图...
查看>>
Hadoop不适合哪些场景 哪些场景适合?
查看>>
欧洲的数据中心与美国的数据中心如何区分?
查看>>
锐捷亮相GITC:请互联网企业为我点个赞!
查看>>
IBM将推NVMe存储解决方案
查看>>
报表系统的雄心
查看>>
如何快速掌握一门新技术/语言/框架
查看>>
企业如何杜绝云端数据泄密?
查看>>
《Drupal实战》——3.3 使用Views创建列表
查看>>
域名服务商GoDaddy第四季度扭亏为盈
查看>>
诺基亚报告称:到2020年北美电子邮件流量占比将跌至7%
查看>>
汉能:让人类像叶绿素一样利用太阳能
查看>>
东进技术南亚创捷
查看>>
《Oracle高性能自动化运维》一一3.3 Redo产生场景
查看>>
轻量级数据库中间件利器Sharding-JDBC深度解析(有彩蛋)
查看>>
《PHP精粹:编写高效PHP代码》——1.1节为什么要使用面向对象编程
查看>>