Flutter Beispiel 6 -- BoxDecoration

Container -- mit BoxDecoration

Container in Flutter kann man leicht unterschätzen. Manche vergleichen sie mit dem Div-Tag in Html. Sie gehören aber zu den häufigst gebrauchten Flutter Widgets, wenn es darum geht ein Layout zu programmieren. Hier links sehen wir ein einfaches Rechteck, mit blauer Hintergrundfarbe und einem zentrierten Text. Hier der Code dazu auf GitHub.

Mit Verwendung von BoxDecoration können wir den Rand, den Körper des Containers, und gegebenenfalls den Schattenwurf des Containers kontrollieren. Dieser Container kann rechteckig, aber auch rund sein. Wichtig dabei ist auch zu wissen, wie Flutter diesen auf den Bildschirm bringt. Flutter zeichnet dabei in Ebenen. Die erste ebene die gezeichnet wird, ist die Hintergrundfarbe, welche den Container ausfüllt. Sollten wir dabei noch einen Gradienten definiert haben, kommt der als nächstes obendrauf. Beide Arten füllen den Container komplett aus. Sollte der Container noch ein Bild enthalten, wird dieses als nächstes gezeichnet, wobei dessen genaue Positionierung innerhalb des Containers durch eine eigene Klasse kontrollier wird. Zu guter letzt zeichnet Flutter den Rand, "über" den Körper des Containers und einen eventuellen Schatten...natürlich unter ihm.

Natürlich kann man mit den Möglichkeiten die das Container Widget bietet, spielen. BorderRadius hat zum Beispiel einige Varianten, so können wir zum Beispiel noch den Wert blurRadius benutzen, um den Schatten weich zu zeichnen. Ebenso ist es möglich die Stärke des Rands zu setzen, oder nur spezifische Ecken des Quadrats abzurunden. Auch zu diesem Beispiel findet man den Code hier. Ich gehe hier jetzt nicht auf alle Möglichkeiten ein ,die da Container Widget bietet. Es gibt da noch einige....



import 'package:flutter/material.dart';



void main() => runApp(MeineApp());

class MeineApp extends StatelessWidget{
@override
Widget build(BuildContext context){
return MaterialApp(
title: "Beispiel",
home: new Scaffold(
body: Center(
child: new Container(
width: 100.0,
height: 100.0,
child: Center(child: new Text("Hello")),
decoration: new BoxDecoration(
border: new Border.all(
color:Colors.black,
width: 2.0,
style: BorderStyle.solid,
),
color: Colors.blue,
borderRadius: BorderRadius.all(
new Radius.circular(
10.0
)
),
boxShadow: [new BoxShadow(
color: Colors.grey,
offset: new Offset(3.0, 3.0),
blurRadius: 5.0,
)],
),
),
),
),
);
}

Kommentare

Beliebte Posts aus diesem Blog

Listen in Dart (2021): Part 1 List.filled List.empty und List.add

Dart und Klassen

Dart Basic: Strings Part 1