Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- import 'package:flutter/rendering.dart';
- import 'dart:math' as math;
- import 'GradientButton.dart';
- import 'main_logo.dart';
- import 'CustomNavigation.dart';
- import 'StatusNavigationBar.dart';
- import 'ExpandibleBar.dart';
- import 'ProfileView.dart';
- import 'package:flutter/cupertino.dart';
- void main() => runApp(new MyApp());
- class MyApp extends StatelessWidget {
- // This widget is the root of your application.
- @override
- Widget build(BuildContext context) {
- return new MaterialApp(
- title: 'Flutter Demo',
- theme: new ThemeData(
- primarySwatch: Colors.blue,
- ),
- home: new MyHomePage(title: 'Flutter Demo Home Page'),
- );
- }
- }
- class MyHomePage extends StatefulWidget {
- MyHomePage({Key key, this.title}) : super(key: key);
- final String title;
- @override
- _MyHomePageState createState() => new _MyHomePageState();
- }
- class _MyHomePageState extends State<MyHomePage> {
- int _counter = 0;
- GradientAppBar appBARRRR = GradientAppBar(
- title: RaisedButton(child: Text("Hola"),
- onPressed: () {
- }),
- backgroundColors: <Color>[Color(0xFFFD758E), Color(0xFFFD758E)],
- );
- void _incrementCounter() {
- setState(() {
- _counter++;
- });
- }
- @override
- Widget build(BuildContext context) {
- return new Scaffold(
- body: new NestedScrollView(
- headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
- return <Widget>[
- SliverPersistentHeader(
- pinned: true,
- delegate: _TestHeader(
- showHeading: true,
- expandedHeight: 300.0,
- collapsedHeight: 80.0
- ),
- ),
- ];
- },
- body: ListView.builder(
- itemCount: 60,
- itemBuilder: (BuildContext context, int index) {
- return new Text('Item $index');
- },
- ),
- ),
- );
- }
- }
- class _TestHeader extends SliverPersistentHeaderDelegate {
- _TestHeader({
- @required this.collapsedHeight,
- @required this.expandedHeight,
- @required this.showHeading,
- });
- bool showHeading;
- final double expandedHeight;
- final double collapsedHeight;
- @override
- double get minExtent => collapsedHeight;
- @override
- double get maxExtent => math.max(expandedHeight, minExtent);
- @override
- Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) {
- print(shrinkOffset);
- print("rebuilding headings");
- return FlexibleSpaceBar.createSettings(
- minExtent: minExtent,
- maxExtent: maxExtent,
- currentExtent: math.max(minExtent, maxExtent - shrinkOffset),
- child: Container(
- padding: EdgeInsets.only(top: MediaQuery.of(context).padding.top),
- decoration: BoxDecoration(
- gradient: LinearGradient(
- begin: Alignment.bottomLeft,
- end: Alignment.topRight,
- colors: <Color>[Color(0xFFFD758E), Color(0xFFFD758E)]
- ),
- ),
- child: Transform.scale(
- scale: (((maxExtent - shrinkOffset - MediaQuery.of(context).padding.top) - 15.0) / expandedHeight).clamp(0.0, 1.0),
- child: Column(
- children: <Widget>[
- Row(
- children: <Widget>[
- Text("Test1"),
- Text("Test1"),
- Text("Test1"),
- Text("Test1")
- ],
- ),
- RaisedButton(child: Text("Keen"),onPressed: () {
- print("Commander");
- }),
- Text("B")
- ],
- ),
- ),
- )
- );
- }
- @override
- bool shouldRebuild(_TestHeader oldDelegate) {
- return expandedHeight != oldDelegate.expandedHeight ||
- collapsedHeight != oldDelegate.collapsedHeight;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement