带有常规尺寸导航栏的“列”中的“材质”应用程序

时间:2018-10-10 14:25:11

标签: dart flutter flutter-layout

我想在整个应用程序顶部显示一个图像。所以我将图片和仪表板放在Main.dart文件的一列中

我的main.dart文件。

void main() => runApp(new MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {   
  @override
  Widget build(BuildContext context) {
      return new MaterialApp(
        home: new Scaffold(
          body: new SafeArea(
            child: Column(
              children: <Widget>[
                new Image.asset('assets/ads.png'),
                new Expanded(
                  child: Dashboard(),
                )
              ],
            ),
          ),
        ),
      );
  }
}

Dashboard.dart

import 'package:flutter/material.dart';

class Dashboard extends StatefulWidget {
  @override
  _DashboardState createState() => _DashboardState();
}

class _DashboardState extends State<Dashboard> {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new Scaffold(
        appBar: new AppBar(title: new Text('Books')),
        body: new Container(
          child: new Center(
            child: new Text('data'),
          ),
        ),
      ),
    );
  }
}

现在,此代码生成这样的输出。

enter image description here

我需要常规尺寸的Appar。这个AppBar真的很大。有人可以建议这里出什么问题吗?

1 个答案:

答案 0 :(得分:1)

这样做:-

import 'package:flutter/material.dart';
void main() => runApp(new MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      debugShowCheckedModeBanner: false,
      home: new Scaffold(
        body: new SafeArea(
          child: Column(
            children: <Widget>[
              new Image.network("https://via.placeholder.com/350x100"),
              new Expanded(
                child: Dashboard(),
              )
            ],
          ),
        ),
      ),
    );
  }
}


class Dashboard extends StatefulWidget {
  @override
  _DashboardState createState() => _DashboardState();
}

class _DashboardState extends State<Dashboard> {
  @override
  Widget build(BuildContext context) {
    return  new Scaffold(
        appBar: new AppBar(title: new Text('Books')),
        body: new Container(
          child: new Center(
            child: new Text('data'),
          ),
        ),
    );
  }
}

enter image description here