2017-05-06 8 views
2

私はフラッターを学んでいます、そして、私は非常に基本から始まっています。私はMaterialAppを使用していません。画面全体の背景色を設定するにはどうすればよいですか?ここでFlutterでメイン画面の背景色を設定するにはどうすればよいですか?

は、私がこれまで持っているものです。

import 'package:flutter/material.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 Center(child: new Text("Hello, World!")); 
    } 
} 

私の質問のいくつかは、次のとおりです。

  • 背景色を設定するための基本的な方法は何ですか?
  • 私は画面上で正確に何を見ていますか?背景コードはどれですか?背景色を設定することはありますか?そうでない場合、背景色をペイントするために、単純で適切な「単純な背景」は何ですか?

ありがとうございました!

上記のコードは、白い文字が黒い画面を生成します。 enter image description here

答えて

1

は、ここで私はそれを行うことが見いださ一つの方法です。より良い方法があるのか​​、それともトレードオフがあるのか​​分かりません。

Containerhttps://flutter.io/layout/によると「可能な限り大きくしようとしています」。また、コンテナにはのdecorationを使用できます。color(これは背景色です)を持つことができます。

ここでは、実際に赤で画面を塗りつぶし、 "Hello、World!"というサンプルを示します。

import 'package:flutter/material.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 Container(
     decoration: new BoxDecoration(color: Colors.red), 
     child: new Center(
     child: new Text("Hello, World!"), 
    ), 
    ); 
    } 
} 

注意:コンテナは、MyApp build()によって返されます。コンテナには装飾と子があり、これは中央揃えのテキストです。

は、ここでは、アクションでそれを参照してください。

enter image description here

+2

コンテナは、単純なアプリやマテリアルデザインを使用していないアプリを作成する場合に適しています。マテリアルアプリケーションを構築する場合、すべてのキャンバスとカードに暗い背景が必要な場合は、ThemeData.dark()の使用を検討してください。 ThemeDataコンストラクタのcardColor引数とcanvasColor引数を使用して、カードとキャンバスの背景色をきめ細かく制御することもできます。 https://docs.flutter.io/flutter/material/ThemeData/ThemeData.html –

0

私はあなたがMaterialAppウィジェットを使用してthemeを使用して、必要な色でprimarySwatchを設定する必要があると思います。

import 'package:flutter/material.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'), 
    ); 
    } 
} 
関連する問題