Widget ya Container ni moja ya vipengele muhimu katika maendeleo ya programu za Flutter. Inatumika kufunga na kupanga vitu vingine kwenye skrini. Container inaruhusu udhibiti mkubwa wa muonekano wa vitu vinavyojumuishwa ndani yake.

 

Container yenyewe inapangilia maudhui kwenye kufungu katika ukubwa maalumu unaohitaji, ama position maalumu unapotaka kikae

 

Property muhimu za Container:

alignment: Inadhibiti jinsi watoto wa Container wanavyopangwa ndani yake. Kwa mfano, Alignment.topLeft, Alignment.center, nk.

 

  1. color: Rangi ya background ya Container.

 

  1. width: Upana wa Container.

 

  1. height: Urefu wa Container.

 

  1. margin: Inadhibiti nafasi kuzunguka Container.

 

  1. padding: Inadhibiti nafasi ndani ya Container.

 

  1. decoration: Inaruhusu kuongeza staili zaidi kwa Container, kama vile mstari wa mipaka, rangi ya mbele, na zaidi.

 

  1. child: Widget ambao utapangwa ndani ya Container. Hii ni lazima iwe mtoto mmoja tu, lakini unaweza kuweka widgets nyingi kwa kutumia Row, Column, au nyingine Container ndani ya Container.

 

import 'package:flutter/material.dart';

 

void main() {

 runApp(MyApp());

}

 

class MyApp extends StatelessWidget {

 @override

 Widget build(BuildContext context) {

   return MaterialApp(

     home: Scaffold(

       appBar: AppBar(

         title: Text('Tehama'),

         backgroundColor: Colors.blue,

       ),

       body: Center(

         child: Container(

           // Rangi ya background ya Container.

           color: Colors.yellow,

           // Upana wa Container.

           width: 200,

           // Urefu wa Container.

           height: 200,

           // Inadhibiti nafasi kuzunguka Container.

           margin: EdgeInsets.all(20),

           // Inadhibiti nafasi ndani ya Container.

           padding: EdgeInsets.all(10),

           // Widget ambao utapangwa ndani ya Container.

           child: const Center(

             child: Text(

               'Hii ni Container!',

               style: TextStyle(fontSize: 20),

             ),

           ),

         ),

       ),

     ),

   );

 }

}

 

Mambo ya kuzingatia:

Container haiscroll hivyo kama text zako ni nyingi na unahitaji ku scroll utahitajika kutumia widget nyingine.

 

 

Widgets zinazoweza kutumika kama watoto wa Container:

 

  1. Text: Kutumika kwa kuonyesha maandishi ndani ya Container.

 

  1. Image: Kutumika kwa kuonyesha picha ndani ya Container.

 

  1. Icon: Kutumika kwa kuonyesha ikoni ndani ya Container.

 

  1. Row: Kutumika kwa kusimamia vitu kwa mstari mmoja ndani ya Container.

 

  1. Column: Kutumika kwa kusimamia vitu kwa mstari mmoja wa wima ndani ya Container.

 

  1. Stack: Kutumika kwa kusimamia vitu vilivyopangwa kwa msingi wa kufunika ndani ya Container.

 

  1. ListView: Kutumika kwa kuonyesha orodha ya vitu katika Container kwa mwelekeo wa wima.

 

  1. GridView: Kutumika kwa kuonyesha orodha ya vitu katika Grid ndani ya Container.

 

  1. Custom widgets: Unaweza pia kutumia widgets zilizoundwa na wewe mwenyewe kama watoto wa Container.

 

Kwa kuchanganya propertyna watoto hawa wa Container, unaweza kuunda miundo mbalimbali na mitindo ya UI katika programu zako za Flutter.

 

 

Jinsi ambavyo container inaweza kutumika na widget nyingine:

import 'package:flutter/material.dart';

 

  1. Container na row

import 'package:flutter/material.dart';

 

void main() {

 runApp(MyApp());

}

 

class MyApp extends StatelessWidget {

 @override

 Widget build(BuildContext context) {

   return MaterialApp(

     home: Scaffold(

       appBar: AppBar(

         title: Text('Container with Row Example'),

         backgroundColor: Colors.blue,

       ),

       body: Center(

         child: Container(

           // Rangi ya background ya Container.

           color: Colors.yellow,

           // Upana wa Container.

           width: 300,

           // Urefu wa Container.

           height: 100,

           // Widget ambao utapangwa ndani ya Container.

           child: Row(

             mainAxisAlignment: MainAxisAlignment.center,

             children: <Widget>[

               Container(

                 color: Colors.red,

                 height: 100,

                 width: 100,

 

 

                 child: const Text(

                   'Text 1 ',

                   style: TextStyle(color: Colors.blue), // Rangi ya kwanza

                 ),

               ),

               Container(

                 color: Colors.blue,

                 height: 100,

                 width: 100,

                 child: const Text(

                   'Text 2 ',

                   style: TextStyle(color: Colors.purple), // Rangi ya kwanza

                 ),

               ),

               Container(

                 color: Colors.green,

                 height: 100,

                 width: 100,

                 child: const Text(

                   'Text 3 ',

                   style: TextStyle(color: Colors.white), // Rangi ya kwanza

                 ),

               ),

             ],

           ),

         ),

       ),

     ),

   );

 }

}

 

 

 

Container na column

import 'package:flutter/material.dart';

 

void main() {

 runApp(MyApp());

}

 

class MyApp extends StatelessWidget {

 @override

 Widget build(BuildContext context) {

   return MaterialApp(

     home: Scaffold(

       appBar: AppBar(

         title: Text('Tehama'),

         backgroundColor: Colors.blue,

       ),

       body: Center(

         child: Container(

           // Rangi ya background ya Container.

           color: Colors.yellow,

           // Upana wa Container.

           width: 200,

           // Urefu wa Container.

           height: 300,

           // Inadhibiti nafasi ndani ya Container.

           padding: EdgeInsets.all(10),

           // Widget ambao utapangwa ndani ya Container.

           child: const Column(

             mainAxisAlignment: MainAxisAlignment.spaceEvenly,

             children: <Widget>[

               // Widget wa kwanza katika Column - maandishi (Text).

               Text(

                 'Habari ya kwanza',

                 style: TextStyle(fontSize: 20),

               ),

               // Widget wa pili katika Column - maandishi (Text).

               Text(

                 'Habari ya pili',

                 style: TextStyle(fontSize: 20),

               ),

               // Widget wa tatu katika Column - maandishi (Text).

               Text(

                 'Habari ya tatu',

                 style: TextStyle(fontSize: 20),

               ),

             ],

           ),

         ),

       ),

     ),

   );

 }

}

 

 

Mwisho:

Katika somo linalofuata tutakwend kujifunza jinsi ya kutumia text widget. Ufupi wa maneno ni kuwa text wdget tulishakuwa tukiitumia, hivyo tunakwenda kuiangalia zadi.